workqueue: add find_worker_executing_work() and track current_cwq
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)
commit8cca0eea3964b72b14e8c3f88e3a40bef7b9113e
tree49a8e4496ad0ffa99386f6566bc9ffc0c0cc39b2
parent502ca9d819792e7d79b6e002afe9094c641fe410
workqueue: add find_worker_executing_work() and track current_cwq

Now that all the workers are tracked by gcwq, we can find which worker
is executing a work from gcwq.  Implement find_worker_executing_work()
and make worker track its current_cwq so that we can find things the
other way around.  This will be used to implement non-reentrant wqs.

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