workqueue: destroy worker directly in the idle timeout handler
authorLai Jiangshan <laijs@cn.fujitsu.com>
Tue, 20 May 2014 09:46:30 +0000 (17:46 +0800)
committerTejun Heo <tj@kernel.org>
Tue, 20 May 2014 14:59:31 +0000 (10:59 -0400)
commit3347fc9f36e7e5d3ebe504fc4034745b5d8971d3
treeb34e2b7870748208668f7cef162d9d8f489ced55
parent60f5a4bcf852b5dec698b08cd34efc302ea72f2b
workqueue: destroy worker directly in the idle timeout handler

Since destroy_worker() doesn't need to sleep nor require manager_mutex,
destroy_worker() can be directly called in the idle timeout
handler, it helps us remove POOL_MANAGE_WORKERS and
maybe_destroy_worker() and simplify the manage_workers()

After POOL_MANAGE_WORKERS is removed, worker_thread() doesn't
need to test whether it needs to manage after processed works.
So we can remove the test branch.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
kernel/workqueue.c