[PATCH] workqueue: respect isolated cpus when queueing an unbound work

From: Tal Shorer
Date: Thu Oct 19 2017 - 17:44:36 EST


Initialize wq_unbound_cpumask to exclude cpus that were isolated by
the cmdline's isolcpus parameter.

Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx>
---
kernel/workqueue.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index ca937b0..25b351d 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5546,7 +5546,7 @@ int __init workqueue_init_early(void)
WARN_ON(__alignof__(struct pool_workqueue) < __alignof__(long long));

BUG_ON(!alloc_cpumask_var(&wq_unbound_cpumask, GFP_KERNEL));
- cpumask_copy(wq_unbound_cpumask, cpu_possible_mask);
+ cpumask_andnot(wq_unbound_cpumask, cpu_possible_mask, cpu_isolated_map);

pwq_cache = KMEM_CACHE(pool_workqueue, SLAB_PANIC);

--
2.7.4