[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240116161929.232885-1-juri.lelli@redhat.com>
Date: Tue, 16 Jan 2024 17:19:25 +0100
From: Juri Lelli <juri.lelli@...hat.com>
To: Tejun Heo <tj@...nel.org>
Cc: Lai Jiangshan <jiangshanlai@...il.com>,
Aaron Tomlin <atomlin@...mlin.com>,
Valentin Schneider <vschneid@...hat.com>,
Waiman Long <longman@...hat.com>,
Juri Lelli <juri.lelli@...hat.com>,
linux-kernel@...r.kernel.org
Subject: [RFC PATCH 0/4] Fix handling of rescuers affinity
Hello,
Recently I've been pointed at the fact that workqueue rescuers seem not
to follow unbound workqueues cpumask changes. This small series is a
first stab at possibly fixing what I considered to be different from
what I expected (it might very well be the case that my expectations are
wrong :). Long story short, it seems to me that we currently have
several cases where a change of the general unbound cpumask or a change
of the per-workqueue cpumask (for WQ_SYSFS workqueues) is not reflected
into the corresponding rescuer affinity (if a rescuer is present).
In the following:
Patch 01/04 - Adds debug information to wq_dump.py script so that we
can more easily check workqueues and rescuers cpumasks
02/04 - Fixes cpumask discrepancies when rescuers are created
03/04 - Streamlines behavior of general unbound vs. WQ_SYSFS
cpumask changes
04/04 - Makes sure existing rescuers affinity follows their
workqueue cpumask changes
Please take a look, I'm all for feedback and better understanding of the
details I'm certainly missing.
For additional context, a related discussion can be found at
https://lore.kernel.org/lkml/um77hym4t6zyypfbhwbaeqxpfdzc657oa7vgowdfah7cuctjak@pexots3mfb24/
Branch for testing available at
git@...hub.com:jlelli/linux.git workqueue/rescuers-cpumask
Best,
Juri
Juri Lelli (4):
workqueue: Add rescuers printing to wq_dump.py
kernel/workqueue: Bind rescuer to unbound cpumask for WQ_UNBOUND
kernel/workqueue: Distinguish between general unbound and WQ_SYSFS
cpumask changes
kernel/workqueue: Let rescuers follow unbound wq cpumask changes
kernel/workqueue.c | 28 +++++++++++++++++++++-------
tools/workqueue/wq_dump.py | 29 +++++++++++++++++++++++++++++
2 files changed, 50 insertions(+), 7 deletions(-)
--
2.43.0
Powered by blists - more mailing lists