Re: [PATCH 00/33 v6] cpuset/isolation: Honour kthreads preferred affinity

From: Waiman Long

Date: Mon Jan 12 2026 - 20:49:30 EST


On 1/12/26 5:09 PM, Frederic Weisbecker wrote:
Le Mon, Jan 12, 2026 at 01:23:40PM -0500, Waiman Long a écrit :
On 1/1/26 5:13 PM, Frederic Weisbecker wrote:
Hi,

The kthread code was enhanced lately to provide an infrastructure which
manages the preferred affinity of unbound kthreads (node or custom
cpumask) against housekeeping constraints and CPU hotplug events.

One crucial missing piece is cpuset: when an isolated partition is
created, deleted, or its CPUs updated, all the unbound kthreads in the
top cpuset are affine to _all_ the non-isolated CPUs, possibly breaking
their preferred affinity along the way

Solve this with performing the kthreads affinity update from cpuset to
the kthreads consolidated relevant code instead so that preferred
affinities are honoured.

The dispatch of the new cpumasks to workqueues and kthreads is performed
by housekeeping, as per the nice Tejun's suggestion.

As a welcome side effect, HK_TYPE_DOMAIN then integrates both the set
from isolcpus= and cpuset isolated partitions. Housekeeping cpumasks are
now modifyable with specific synchronization. A big step toward making
nohz_full= also mutable through cpuset in the future.

Changes since v5:

* Add more tags

* Fix leaked destroy_work_on_stack() (Zhang Qiao, Waiman Long)

* Comment schedule_drain_work() synchronization requirement (Tejun)

* s/Revert of/Inverse of (Waiman Long)

* Remove housekeeping_update() needless (for now) parameter (Chen Ridong)

* Don't propagate housekeeping_update() failures beyond allocations (Waiman Long)

* Whitespace cleanup (Waiman Long)


git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
kthread/core-v6

HEAD: 811e87ca8a0a1e54eb5f23e71896cb97436cccdc

Happy new year,
Frederic
I don't see any major issue with this v6 version. There may be some minor
issues that can be cleaned up later. Now the issue is which tree should this
series go to as it touches a number of different subsystems with different
maintainers.
It indeed crosses many subsystems. I would be fine if anybody takes it but
nobody volunteered so far.

The main purpose is to fix kthreads affinity (HK_TYPE_DOMAIN handling cpuset is
a bonus). And since I made the pull request myself to Linus when I introduced
kthreads managed affinity, I guess I could reiterate with this patchset. I
already pushed it to linux-next.

But if anybody wants to pull that to another tree, that's fine, just tell me
so that we synchronize to avoid duplication on linux-next.

Thanks.

Good to know as I am wondering where it will go. So you are going to push that directly to Linus.

Cheers,
Longman