Re: [PATCH wq/for-3.9] workqueue: move nr_running into worker_pool

From: Tejun Heo
Date: Thu Feb 07 2013 - 16:06:41 EST


On Thu, Jan 24, 2013 at 11:39:44AM -0800, Tejun Heo wrote:
> As nr_running is likely to be accessed from other CPUs during
> try_to_wake_up(), it was kept outside worker_pool; however, while less
> frequent, other fields in worker_pool are accessed from other CPUs
> for, e.g., non-reentrancy check. Also, with recent pool related
> changes, accessing nr_running matching the worker_pool isn't as simple
> as it used to be.
>
> Move nr_running inside worker_pool. Keep it aligned to cacheline and
> define CPU pools using DEFINE_PER_CPU_SHARED_ALIGNED(). This should
> give at least the same cacheline behavior.
>
> get_pool_nr_running() is replaced with direct pool->nr_running
> accesses.
>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Joonsoo Kim <js1304@xxxxxxxxx>

Applied to wq/for-3.9.

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/