workqueue: remove an unneeded UNBOUND test before waking up the next worker
authorLai Jiangshan <laijs@cn.fujitsu.com>
Tue, 22 Jul 2014 05:01:59 +0000 (13:01 +0800)
committerTejun Heo <tj@kernel.org>
Tue, 22 Jul 2014 14:37:52 +0000 (10:37 -0400)
commita489a03eca74cd1d5ac771f4b2ae2c826aab0b30
tree7ac69e996945da543012d86bc2efe66cb5c082a2
parentd8ca83e68c8c7efd8e5920a046d5c576b08609f0
workqueue: remove an unneeded UNBOUND test before waking up the next worker

In process_one_work():

if ((worker->flags & WORKER_UNBOUND) && need_more_worker(pool))
wake_up_worker(pool);

the first test is unneeded.  Even if the first test is removed, it
doesn't affect the wake-up logic for WORKER_UNBOUND, and it will not
introduce any useless wake-ups for normal per-cpu workers since
nr_running is always >= 1.  It will introduce useless/redundant
wake-ups for CPU_INTENSIVE, but this case is rare and the next patch
will also remove this redundant wake-up.

tj: Minor updates to the description and comment.

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