Re: [PATCH, RFC rc1-mm1] implement flush_work()

2006-12-18 Thread Andrew Morton
On Mon, 18 Dec 2006 23:17:14 +0300 Oleg Nesterov <[EMAIL PROTECTED]> wrote: > Add ->current_work to the "struct cpu_workqueue_struct", it points to > currently running "struct queue_work". When flush_work(work) detects > ->current_work == work, it inserts a barrier at the _head_ of ->worklist > (a

[PATCH, RFC rc1-mm1] implement flush_work()

2006-12-18 Thread Oleg Nesterov
On top of "[PATCH, RFC] reimplement flush_workqueue()", see http://marc.theaimsgroup.com/?l=linux-kernel&m=116639510029010 Andrew Morton wrote: > > A basic problem with flush_scheduled_work() is that it blocks behind _all_ > presently-queued works, rather than just the work whcih the calle