]> git.ipfire.org Git - thirdparty/linux.git/commit
kthread: Honour kthreads preferred affinity after cpuset changes
authorFrederic Weisbecker <frederic@kernel.org>
Wed, 4 Jun 2025 12:02:40 +0000 (14:02 +0200)
committerFrederic Weisbecker <frederic@kernel.org>
Tue, 3 Feb 2026 14:23:35 +0000 (15:23 +0100)
commite894f633980804a528a2d6996c4ea651df631632
tree8bd64eb9ec9b30da5deba98bccc4713a1280f146
parent79c0abaf06fca6e715cf792daed580542fc4a2c4
kthread: Honour kthreads preferred affinity after cpuset changes

When cpuset isolated partitions get updated, unbound kthreads get
indifferently affine to all non isolated CPUs, regardless of their
individual affinity preferences.

For example kswapd is a per-node kthread that prefers to be affine to
the node it refers to. Whenever an isolated partition is created,
updated or deleted, kswapd's node affinity is going to be broken if any
CPU in the related node is not isolated because kswapd will be affine
globally.

Fix this with letting the consolidated kthread managed affinity code do
the affinity update on behalf of cpuset.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Waiman Long <longman@redhat.com>
Cc: Michal Koutný <mkoutny@suse.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Marco Crivellari <marco.crivellari@suse.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Waiman Long <longman@redhat.com>
Cc: cgroups@vger.kernel.org
include/linux/kthread.h
kernel/cgroup/cpuset.c
kernel/kthread.c
kernel/sched/isolation.c