Re: [PATCH 2/2] workqueue: remove the argument @wakeup from worker_set_flags()

From: Tejun Heo
Date: Fri Jul 18 2014 - 18:54:00 EST


On Fri, Jul 18, 2014 at 06:38:26PM -0400, Tejun Heo wrote:
> On Wed, Jul 16, 2014 at 06:09:59PM +0800, Lai Jiangshan wrote:
> > worker_set_flags() doesn't necessarily wake next worker and the @wakeup
> > can be removed, the caller can use the following conbination instead
> > when needed:
> >
> > worker_set_flags();
> > if (need_more_worker(pool))
> > wake_up_worker(pool);
>
> Hmmm, yeah, there were more places where worker_set_flags() was used
> but it does seem excessive now.
>
> > @@ -2045,7 +2032,7 @@ __acquires(&pool->lock)
> > * management. They're the scheduler's responsibility.
> > */
> > if (unlikely(cpu_intensive))
> > - worker_set_flags(worker, WORKER_CPU_INTENSIVE, true);
> > + worker_set_flags(worker, WORKER_CPU_INTENSIVE);
>
> But let's do this separately. Please drop the previous patch and
> perform need_more_worker() test explicitly after setting
> CPU_INTENSIVE.

So, we can do it together at need_more_workers() but let's please
explain how different cases would behave there.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/