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

From: Tejun Heo
Date: Fri Jul 18 2014 - 18:38:34 EST


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.

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/