From: Lai Jiangshan <la...@linux.alibaba.com>

Just move around the code, no functionality changed.

It prepares for later patch protecting wq_online_cpumask
in wq_pool_attach_mutex.

Acked-by: Tejun Heo <t...@kernel.org>
Signed-off-by: Lai Jiangshan <la...@linux.alibaba.com>
---
 kernel/workqueue.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 79cc87df0cda..94545e6feda5 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5088,12 +5088,17 @@ int workqueue_online_cpu(unsigned int cpu)
        mutex_lock(&wq_pool_mutex);
        cpumask_set_cpu(cpu, wq_online_cpumask);
 
+       for_each_cpu_worker_pool(pool, cpu) {
+               mutex_lock(&wq_pool_attach_mutex);
+               rebind_workers(pool);
+               mutex_unlock(&wq_pool_attach_mutex);
+       }
+
+       /* update CPU affinity of workers of unbound pools */
        for_each_pool(pool, pi) {
                mutex_lock(&wq_pool_attach_mutex);
 
-               if (pool->cpu == cpu)
-                       rebind_workers(pool);
-               else if (pool->cpu < 0)
+               if (pool->cpu < 0)
                        update_unbound_workers_cpumask(pool, true, cpu);
 
                mutex_unlock(&wq_pool_attach_mutex);
-- 
2.19.1.6.gb485710b

Reply via email to