Hi,
At my end I was using tasklets to do some handling. But while
doing the handling the handler had to sleep, so I had to switch to
 workqueues. I am scheduling a work as follows:

INIT_WORK(&event->work, do_handling_work);
schedule_work(&event->work);
flush_scheduled_work();

But the work never gets scheduled. I have put some printks in the 
do_handling_work() function. Creating workqueue and queueing
the work to that workqueue doen't work either. I find this a 
very strange problem. Does anybody knows about this?

FYI: my system has heavy IO load when I schedule the work. 


Thanks