if flush_scheduled_work() is allegedly overkill, why do drivers use it?

2012-10-19 Thread Robert P. J. Day
working my way through work queues and read this in workqueue.h: /** * flush_scheduled_work - ensure that any scheduled work has run to completion. * * Forces execution of the kernel-global workqueue and blocks until its * completion. * * Think twice before calling this function! It's

Re: if flush_scheduled_work() is allegedly overkill, why do drivers use it?

2012-10-19 Thread Greg Freemyer
On Fri, Oct 19, 2012 at 10:12 AM, Robert P. J. Day rpj...@crashcourse.ca wrote: working my way through work queues and read this in workqueue.h: /** * flush_scheduled_work - ensure that any scheduled work has run to completion. * * Forces execution of the kernel-global workqueue and

Re: if flush_scheduled_work() is allegedly overkill, why do drivers use it?

2012-10-19 Thread Robert P. J. Day
On Fri, 19 Oct 2012, Greg Freemyer wrote: I saw a thread about disk i/o that may relate. At least with disk buffers in the block layer, it appeared it was an all or nothing situation for flushing the queues. So if a upper level wanted to ensure write A completed prior to write B, the only