Messages in this thread Patch in this message | | | From | Lai Jiangshan <> | Subject | [PATCH] workqueue: wake regular worker if need_more_worker() when rescuer leave the pool | Date | Wed, 16 Jul 2014 14:56:36 +0800 |
| |
We don't need to wake up regular worker when nr_running==1, so need_more_worker() is sufficient here.
And need_more_worker() gives us better readability due to the name of "keep_working()" implies the rescuer should keep working now but the rescuer is actually leaving.
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> --- kernel/workqueue.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index dfd9f68..7128053 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2308,11 +2308,11 @@ repeat: put_pwq(pwq); /* - * Leave this pool. If keep_working() is %true, notify a + * Leave this pool. If need_more_worker() is %true, notify a * regular worker; otherwise, we end up with 0 concurrency * and stalling the execution. */ - if (keep_working(pool)) + if (need_more_worker(pool)) wake_up_worker(pool); rescuer->pool = NULL; -- 1.7.4.4
| |