[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220329051714.2184811-1-qiang1.zhang@intel.com>
Date: Tue, 29 Mar 2022 13:17:14 +0800
From: Zqiang <qiang1.zhang@...el.com>
To: tj@...nel.org, jiangshanlai@...il.com
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH] workqueue: Restrict kworker in the offline CPU pool running on housekeeping CPUs
When CPU going offline, all workers in this CPU pool will lose
affinity to this CPU, and may run to isolated CPU. like kworker
in unbound pool, set CPU affinity of these kworker is housekeeping
cpumask.
Signed-off-by: Zqiang <qiang1.zhang@...el.com>
---
kernel/workqueue.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index abcc9a2ac319..c509ce73a783 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5023,7 +5023,8 @@ static void unbind_workers(int cpu)
for_each_pool_worker(worker, pool) {
kthread_set_per_cpu(worker->task, -1);
- WARN_ON_ONCE(set_cpus_allowed_ptr(worker->task, cpu_possible_mask) < 0);
+ WARN_ON_ONCE(set_cpus_allowed_ptr(worker->task,
+ housekeeping_cpumask(HK_TYPE_WQ)) < 0);
}
mutex_unlock(&wq_pool_attach_mutex);
--
2.25.1
Powered by blists - more mailing lists