]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
kthread: Include kthreadd to the managed affinity list
authorFrederic Weisbecker <frederic@kernel.org>
Tue, 3 Jun 2025 14:41:56 +0000 (16:41 +0200)
committerFrederic Weisbecker <frederic@kernel.org>
Tue, 3 Feb 2026 14:23:35 +0000 (15:23 +0100)
The unbound kthreads affinity management performed by cpuset is going to
be imported to the kthread core code for consolidation purposes.

Treat kthreadd just like any other kthread.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Waiman Long <longman@redhat.com>
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>
kernel/kthread.c

index 51c0908d3d02a7365dbbbb58703ee22ccdfe709e..85ccf5bb17c9e323e3bdd32d94ed775f608a1612 100644 (file)
@@ -818,12 +818,13 @@ int kthreadd(void *unused)
        /* Setup a clean context for our children to inherit. */
        set_task_comm(tsk, comm);
        ignore_signals(tsk);
-       set_cpus_allowed_ptr(tsk, housekeeping_cpumask(HK_TYPE_KTHREAD));
        set_mems_allowed(node_states[N_MEMORY]);
 
        current->flags |= PF_NOFREEZE;
        cgroup_init_kthreadd();
 
+       kthread_affine_node();
+
        for (;;) {
                set_current_state(TASK_INTERRUPTIBLE);
                if (list_empty(&kthread_create_list))