On Thu, Apr 21, 2011 at 9:29 PM, Dave Hylands <dhylands@xxxxxxxxx> wrote: > Hi Pankaj, > > On Thu, Apr 21, 2011 at 5:14 AM, Pankaj B <xpankajbx@xxxxxxxxx> wrote: >> 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. <snip from lwn> It turned out these functions were used in ~800 places, and in ~90% of them the return value was ignored! This is perhaps understandble, because the only way these functions can fail is if their work_struct argument is uninitialized or already in use. (Whether it's robust for callers to depend on this behavior remaining unchanged into the indefinite future is more questionable.) </snip from lwn> For more read: http://lwn.net/Articles/197318/ This might help you. Regards Himanshu _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies