Skip to content

Commit 2fcdb1b

Browse files
committed
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>
1 parent c35aea3 commit 2fcdb1b

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

kernel/workqueue.c

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7147,6 +7147,22 @@ static void __init restrict_unbound_cpumask(const char *name, const struct cpuma
71477147
cpumask_and(wq_unbound_cpumask, wq_unbound_cpumask, mask);
71487148
}
71497149

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+
71507166
/**
71517167
* workqueue_init_early - early init for workqueue subsystem
71527168
*
@@ -7207,20 +7223,8 @@ void __init workqueue_init_early(void)
72077223
struct worker_pool *pool;
72087224

72097225
i = 0;
7210-
for_each_cpu_worker_pool(pool, cpu) {
7211-
BUG_ON(init_worker_pool(pool));
7212-
pool->cpu = cpu;
7213-
cpumask_copy(pool->attrs->cpumask, cpumask_of(cpu));
7214-
cpumask_copy(pool->attrs->__pod_cpumask, cpumask_of(cpu));
7215-
pool->attrs->nice = std_nice[i++];
7216-
pool->attrs->affn_strict = true;
7217-
pool->node = cpu_to_node(cpu);
7218-
7219-
/* alloc pool ID */
7220-
mutex_lock(&wq_pool_mutex);
7221-
BUG_ON(worker_pool_assign_id(pool));
7222-
mutex_unlock(&wq_pool_mutex);
7223-
}
7226+
for_each_cpu_worker_pool(pool, cpu)
7227+
init_cpu_worker_pool(pool, cpu, std_nice[i++]);
72247228
}
72257229

72267230
/* create default unbound and ordered wq attrs */

0 commit comments

Comments
 (0)