diff options
author | Tejun Heo <tj@kernel.org> | 2013-01-24 11:01:34 -0800 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-01-24 11:01:34 -0800 |
commit | a60dc39c016a65bfdbd05c43b3707962d5ed04c7 (patch) | |
tree | c16982dba52f5f83dc09817c37e86ec201f84c03 /kernel/workqueue_internal.h | |
parent | 4e8f0a609677a25f504527e50981df146c5b3d08 (diff) | |
download | op-kernel-dev-a60dc39c016a65bfdbd05c43b3707962d5ed04c7.zip op-kernel-dev-a60dc39c016a65bfdbd05c43b3707962d5ed04c7.tar.gz |
workqueue: remove global_cwq
global_cwq is now nothing but a container for per-cpu standard
worker_pools. Declare the worker pools directly as
cpu/unbound_std_worker_pools[] and remove global_cwq.
* ____cacheline_aligned_in_smp moved from global_cwq to worker_pool.
This probably would have made sense even before this change as we
want each pool to be aligned.
* get_gcwq() is replaced with std_worker_pools() which returns the
pointer to the standard pool array for a given CPU.
* __alloc_workqueue_key() updated to use get_std_worker_pool() instead
of open-coding pool determination.
This is part of an effort to remove global_cwq and make worker_pool
the top level abstraction, which in turn will help implementing worker
pools with user-specified attributes.
v2: Joonsoo pointed out that it'd better to align struct worker_pool
rather than the array so that every pool is aligned.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Joonsoo Kim <js1304@gmail.com>
Diffstat (limited to 'kernel/workqueue_internal.h')
-rw-r--r-- | kernel/workqueue_internal.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/kernel/workqueue_internal.h b/kernel/workqueue_internal.h index cc35e7e..328be4a 100644 --- a/kernel/workqueue_internal.h +++ b/kernel/workqueue_internal.h @@ -10,7 +10,6 @@ #include <linux/workqueue.h> #include <linux/kthread.h> -struct global_cwq; struct worker_pool; /* |