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

From: Waiman Long

Date: Mon Jan 12 2026 - 13:24:01 EST


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.

Cheers,
Longman