Merge branch 'for-6.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
authorTejun Heo <tj@kernel.org>
Wed, 22 Nov 2023 16:18:49 +0000 (06:18 -1000)
committerTejun Heo <tj@kernel.org>
Wed, 22 Nov 2023 16:18:49 +0000 (06:18 -1000)
cgroup/for-6.8 is carrying two workqueue changes to allow cpuset to restrict
the CPUs used by unbound workqueues. Unfortunately, this conflicts with a
new bug fix in wq/for-6.7-fixes. The conflict is contextual but can be a bit
confusing to resolve. Pull the fix branch to resolve the conflict.

Signed-off-by: Tejun Heo <tj@kernel.org>
1  2 
kernel/workqueue.c

index 2fc585d3d6caccc1e3a40838ac8b518022920add,2989b57e154a767dadc6054bed607808086b36d6..76e60faed892357002868cdf9fb41c76ad4eba54
@@@ -6606,15 -6542,12 +6614,17 @@@ void __init workqueue_init_early(void
        BUILD_BUG_ON(__alignof__(struct pool_workqueue) < __alignof__(long long));
  
        BUG_ON(!alloc_cpumask_var(&wq_unbound_cpumask, GFP_KERNEL));
-       cpumask_copy(wq_unbound_cpumask, housekeeping_cpumask(HK_TYPE_WQ));
-       cpumask_and(wq_unbound_cpumask, wq_unbound_cpumask, housekeeping_cpumask(HK_TYPE_DOMAIN));
 +      BUG_ON(!alloc_cpumask_var(&wq_requested_unbound_cpumask, GFP_KERNEL));
 +      BUG_ON(!zalloc_cpumask_var(&wq_isolated_cpumask, GFP_KERNEL));
 +
+       cpumask_copy(wq_unbound_cpumask, cpu_possible_mask);
+       restrict_unbound_cpumask("HK_TYPE_WQ", housekeeping_cpumask(HK_TYPE_WQ));
+       restrict_unbound_cpumask("HK_TYPE_DOMAIN", housekeeping_cpumask(HK_TYPE_DOMAIN));
        if (!cpumask_empty(&wq_cmdline_cpumask))
-               cpumask_and(wq_unbound_cpumask, wq_unbound_cpumask, &wq_cmdline_cpumask);
+               restrict_unbound_cpumask("workqueue.unbound_cpus", &wq_cmdline_cpumask);
 +      cpumask_copy(wq_requested_unbound_cpumask, wq_unbound_cpumask);
 +
        pwq_cache = KMEM_CACHE(pool_workqueue, SLAB_PANIC);
  
        wq_update_pod_attrs_buf = alloc_workqueue_attrs();