Re: [PATCH 04/10] workqueue: destroy worker directly in the idle timeout handler

Tejun Heo
2014-05-07T13:41:46Z

On Wed, May 07, 2014 at 09:38:39PM +0800, Lai Jiangshan wrote:
> On Wed, May 7, 2014 at 9:12 PM, Tejun Heo <tj@kernel.org> wrote:
> > Hello, Lai.
> >
> > On Wed, May 07, 2014 at 03:10:20PM +0800, Lai Jiangshan wrote:
> >> 1) complete() can't be called inside attach_mutex due to the worker
> >> shouldn't access to the pool after complete().
> >
> > Sure, complete it after releasing the lock. Shutdown can't complete
> > before the completion gets completed, right?
> >
> >> 2) put_unbound_pool() may called from get_unbound_pool(), we need to add
> >> an additional check and avoid the wait_for_completion() if so.
>
> Do you accept if I remove put_unbound_pool() from get_unbound_pool()
> and use several freeing code instead?

Hah? How much extra complexity are we talking about? It's a single
if, no?

--
tejun