workqueue: implement WQ_NON_REENTRANT
authorTejun Heo <tj@kernel.org>
Tue, 29 Jun 2010 08:07:13 +0000 (10:07 +0200)
committerTejun Heo <tj@kernel.org>
Tue, 29 Jun 2010 08:07:13 +0000 (10:07 +0200)
With gcwq managing all the workers and work->data pointing to the last
gcwq it was on, non-reentrance can be easily implemented by checking
whether the work is still running on the previous gcwq on queueing.
Implement it.

Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/workqueue.h
kernel/workqueue.c

Simple merge
Simple merge