So in this version I actually save the cpumask belonging to wq (before it's intersected against the low level cpumask) in its unbounds attrs.
But the attrs passed to pwq and worker pools have the low level cpumask computed against the wq cpumask. It makes it easier that way as the wq cpumask itself remains untouched. It's a user setting so it must stay intact. OTOH the cpumask of pwqs and worker pools only belong to the implementation so it's the right place to store the effective cpumask. Also wq_update_unbound_numa() is fixed, and cpu_possible_mask() is restored as a base. Thanks to Lai! Thanks, Frederic git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git core/workqueue-v5 --- Frederic Weisbecker (4): workqueue: Reorder sysfs code workqueue: Create low-level unbound workqueues cpumask workqueue: Split apply attrs code from its locking workqueue: Allow modifying low level unbound workqueue cpumask Lai Jiangshan (1): workqueue: Allow changing attributions of ordered workqueues kernel/workqueue.c | 1674 ++++++++++++++++++++++++++++------------------------ 1 file changed, 900 insertions(+), 774 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/