Re: [PATCH 00/33 v6] cpuset/isolation: Honour kthreads preferred affinity
From: Frederic Weisbecker <frederic@kernel.org>
Date: 2026-01-12 22:09:44
Also in:
cgroups, linux-arm-kernel, linux-block, linux-mm, linux-pci, lkml
Le Mon, Jan 12, 2026 at 01:23:40PM -0500, Waiman Long a écrit :
On 1/1/26 5:13 PM, Frederic Weisbecker wrote:quoted
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, FredericI 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. -- Frederic Weisbecker SUSE Labs