]> git.baikalelectronics.ru Git - kernel.git/commit
workqueue: wake up a worker when a rescuer is leaving a gcwq
authorTejun Heo <tj@kernel.org>
Mon, 14 Feb 2011 13:04:46 +0000 (14:04 +0100)
committerTejun Heo <tj@kernel.org>
Mon, 14 Feb 2011 13:04:46 +0000 (14:04 +0100)
commit7eeccac35ef693d67236c3a6709ff0001abcc9a8
treedb0b180feebf3a4ca6cd3155764cfc61a6d7f3cf
parentdced5d45a6b0c6cc913295ac0258eb61eca0b9ed
workqueue: wake up a worker when a rescuer is leaving a gcwq

After executing the matching works, a rescuer leaves the gcwq whether
there are more pending works or not.  This may decrease the
concurrency level to zero and stall execution until a new work item is
queued on the gcwq.

Make rescuer wake up a regular worker when it leaves a gcwq if there
are more works to execute, so that execution isn't stalled.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Ray Jui <rjui@broadcom.com>
Cc: stable@kernel.org
kernel/workqueue.c