| Date | Mon, 5 May 2014 10:36:13 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH 04/10] workqueue: destroy worker directly in the idle timeout handler |
| |
On Sun, Apr 27, 2014 at 12:08:59PM +0800, Lai Jiangshan wrote: > Since kthread_stop() is removed from destroy_worker(), > destroy_worker() doesn't need to sleep. > Since "unbind the worker" is moved out from destroy_worker(), > destroy_worker() doesn't require manager_mutex. > > So 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 this test branch.
Ah, so, you can take out workers directly from idle timer. Yeah, that's nice. I'm not a big fan of the wait_queue usage in the previous patch tho. Can we use a completion instead?
Thanks.
-- tejun
|