* [PATCH] workqueue: Remove HK_TYPE_WQ from affecting wq_unbound_cpumask
@ 2026-03-31 18:35 Waiman Long
2026-03-31 19:12 ` Tejun Heo
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Waiman Long @ 2026-03-31 18:35 UTC (permalink / raw)
To: Tejun Heo, Lai Jiangshan; +Cc: linux-kernel, Frederic Weisbecker, Waiman Long
For historical reason, wq_unbound_cpumask is initially set as
intersection of HK_TYPE_DOMAIN, HK_TYPE_WQ and workqueue.unbound_cpus
boot command line option.
At run time, users can update the unbound cpumask via the
/sys/devices/virtual/workqueue/cpumask sysfs file. Creation
and modification of cpuset isolated partitions will also update
wq_unbound_cpumask based on the latest HK_TYPE_DOMAIN cpumask.
The HK_TYPE_WQ cpumask is out of the picture with these runtime updates.
Complete the transition by taking HK_TYPE_WQ out from the workqueue code
and make it depends on HK_TYPE_DOMAIN only from the housekeeping side.
The final goal is to eliminate HK_TYPE_WQ as a housekeeping cpumask type.
Signed-off-by: Waiman Long <longman@redhat.com>
---
kernel/workqueue.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index e5f69377f0cc..aa8e82439c9f 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -7084,7 +7084,7 @@ int workqueue_unbound_housekeeping_update(const struct cpumask *hk)
/*
* If the operation fails, it will fall back to
* wq_requested_unbound_cpumask which is initially set to
- * (HK_TYPE_WQ ∩ HK_TYPE_DOMAIN) house keeping mask and rewritten
+ * HK_TYPE_DOMAIN house keeping mask and rewritten
* by any subsequent write to workqueue/cpumask sysfs file.
*/
if (!cpumask_and(cpumask, wq_requested_unbound_cpumask, hk))
@@ -7921,7 +7921,6 @@ void __init workqueue_init_early(void)
cpumask_copy(wq_online_cpumask, cpu_online_mask);
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))
restrict_unbound_cpumask("workqueue.unbound_cpus", &wq_cmdline_cpumask);
--
2.53.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] workqueue: Remove HK_TYPE_WQ from affecting wq_unbound_cpumask
2026-03-31 18:35 [PATCH] workqueue: Remove HK_TYPE_WQ from affecting wq_unbound_cpumask Waiman Long
@ 2026-03-31 19:12 ` Tejun Heo
2026-03-31 21:26 ` Frederic Weisbecker
2026-03-31 21:47 ` Tejun Heo
2 siblings, 0 replies; 4+ messages in thread
From: Tejun Heo @ 2026-03-31 19:12 UTC (permalink / raw)
To: Waiman Long; +Cc: Lai Jiangshan, linux-kernel, Frederic Weisbecker
On Tue, Mar 31, 2026 at 02:35:22PM -0400, Waiman Long wrote:
> For historical reason, wq_unbound_cpumask is initially set as
> intersection of HK_TYPE_DOMAIN, HK_TYPE_WQ and workqueue.unbound_cpus
> boot command line option.
>
> At run time, users can update the unbound cpumask via the
> /sys/devices/virtual/workqueue/cpumask sysfs file. Creation
> and modification of cpuset isolated partitions will also update
> wq_unbound_cpumask based on the latest HK_TYPE_DOMAIN cpumask.
> The HK_TYPE_WQ cpumask is out of the picture with these runtime updates.
>
> Complete the transition by taking HK_TYPE_WQ out from the workqueue code
> and make it depends on HK_TYPE_DOMAIN only from the housekeeping side.
> The final goal is to eliminate HK_TYPE_WQ as a housekeeping cpumask type.
>
> Signed-off-by: Waiman Long <longman@redhat.com>
Looks fine to me but imma wait for Frederic's review.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] workqueue: Remove HK_TYPE_WQ from affecting wq_unbound_cpumask
2026-03-31 18:35 [PATCH] workqueue: Remove HK_TYPE_WQ from affecting wq_unbound_cpumask Waiman Long
2026-03-31 19:12 ` Tejun Heo
@ 2026-03-31 21:26 ` Frederic Weisbecker
2026-03-31 21:47 ` Tejun Heo
2 siblings, 0 replies; 4+ messages in thread
From: Frederic Weisbecker @ 2026-03-31 21:26 UTC (permalink / raw)
To: Waiman Long; +Cc: Tejun Heo, Lai Jiangshan, linux-kernel
Le Tue, Mar 31, 2026 at 02:35:22PM -0400, Waiman Long a écrit :
> For historical reason, wq_unbound_cpumask is initially set as
> intersection of HK_TYPE_DOMAIN, HK_TYPE_WQ and workqueue.unbound_cpus
> boot command line option.
>
> At run time, users can update the unbound cpumask via the
> /sys/devices/virtual/workqueue/cpumask sysfs file. Creation
> and modification of cpuset isolated partitions will also update
> wq_unbound_cpumask based on the latest HK_TYPE_DOMAIN cpumask.
> The HK_TYPE_WQ cpumask is out of the picture with these runtime updates.
>
> Complete the transition by taking HK_TYPE_WQ out from the workqueue code
> and make it depends on HK_TYPE_DOMAIN only from the housekeeping side.
> The final goal is to eliminate HK_TYPE_WQ as a housekeeping cpumask type.
>
> Signed-off-by: Waiman Long <longman@redhat.com>
Acked-by: Frederic Weisbecker <frederic@kernel.org>
--
Frederic Weisbecker
SUSE Labs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] workqueue: Remove HK_TYPE_WQ from affecting wq_unbound_cpumask
2026-03-31 18:35 [PATCH] workqueue: Remove HK_TYPE_WQ from affecting wq_unbound_cpumask Waiman Long
2026-03-31 19:12 ` Tejun Heo
2026-03-31 21:26 ` Frederic Weisbecker
@ 2026-03-31 21:47 ` Tejun Heo
2 siblings, 0 replies; 4+ messages in thread
From: Tejun Heo @ 2026-03-31 21:47 UTC (permalink / raw)
To: Waiman Long; +Cc: Lai Jiangshan, linux-kernel, Frederic Weisbecker
Applied to wq/for-7.1.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-03-31 21:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-31 18:35 [PATCH] workqueue: Remove HK_TYPE_WQ from affecting wq_unbound_cpumask Waiman Long
2026-03-31 19:12 ` Tejun Heo
2026-03-31 21:26 ` Frederic Weisbecker
2026-03-31 21:47 ` Tejun Heo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox