Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

workqueue: Factor out init_cpu_worker_pool()

Factor out init_cpu_worker_pool() from workqueue_init_early(). This is pure
reorganization in preparation of BH workqueue support.

Signed-off-by: Tejun Heo <tj@kernel.org>
Tested-by: Allen Pais <allen.lkml@gmail.com>

+18 -14
+18 -14
kernel/workqueue.c
··· 7147 7147 cpumask_and(wq_unbound_cpumask, wq_unbound_cpumask, mask); 7148 7148 } 7149 7149 7150 + static void __init init_cpu_worker_pool(struct worker_pool *pool, int cpu, int nice) 7151 + { 7152 + BUG_ON(init_worker_pool(pool)); 7153 + pool->cpu = cpu; 7154 + cpumask_copy(pool->attrs->cpumask, cpumask_of(cpu)); 7155 + cpumask_copy(pool->attrs->__pod_cpumask, cpumask_of(cpu)); 7156 + pool->attrs->nice = nice; 7157 + pool->attrs->affn_strict = true; 7158 + pool->node = cpu_to_node(cpu); 7159 + 7160 + /* alloc pool ID */ 7161 + mutex_lock(&wq_pool_mutex); 7162 + BUG_ON(worker_pool_assign_id(pool)); 7163 + mutex_unlock(&wq_pool_mutex); 7164 + } 7165 + 7150 7166 /** 7151 7167 * workqueue_init_early - early init for workqueue subsystem 7152 7168 * ··· 7223 7207 struct worker_pool *pool; 7224 7208 7225 7209 i = 0; 7226 - for_each_cpu_worker_pool(pool, cpu) { 7227 - BUG_ON(init_worker_pool(pool)); 7228 - pool->cpu = cpu; 7229 - cpumask_copy(pool->attrs->cpumask, cpumask_of(cpu)); 7230 - cpumask_copy(pool->attrs->__pod_cpumask, cpumask_of(cpu)); 7231 - pool->attrs->nice = std_nice[i++]; 7232 - pool->attrs->affn_strict = true; 7233 - pool->node = cpu_to_node(cpu); 7234 - 7235 - /* alloc pool ID */ 7236 - mutex_lock(&wq_pool_mutex); 7237 - BUG_ON(worker_pool_assign_id(pool)); 7238 - mutex_unlock(&wq_pool_mutex); 7239 - } 7210 + for_each_cpu_worker_pool(pool, cpu) 7211 + init_cpu_worker_pool(pool, cpu, std_nice[i++]); 7240 7212 } 7241 7213 7242 7214 /* create default unbound and ordered wq attrs */