From: Marcelo Tosatti <mtosa...@redhat.com>

Next patch will switch unbound kernel threads mask to
housekeeping_cpumask(), a subset of cpu_possible_mask. So in order to
ease bisection, lets first switch kthreads default affinity from
cpu_all_mask to cpu_possible_mask.

It looks safe to do so as cpu_possible_mask seem to be initialized
at setup_arch() time, way before kthreadd is created.

Suggested-by: Frederic Weisbecker <frede...@kernel.org>
Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com>
Cc: Chris Friesen <chris.frie...@windriver.com>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Peter Zijlstra <pet...@infradead.org>
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Jim Somerville <jim.somervi...@windriver.com>
Cc: Christoph Lameter <c...@linux.com>
Signed-off-by: Frederic Weisbecker <frede...@kernel.org>
---
 kernel/kthread.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/kthread.c b/kernel/kthread.c
index bfbfa481be3a..788bec94aca7 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -360,7 +360,7 @@ struct task_struct *__kthread_create_on_node(int 
(*threadfn)(void *data),
                 * The kernel thread should not inherit these properties.
                 */
                sched_setscheduler_nocheck(task, SCHED_NORMAL, &param);
-               set_cpus_allowed_ptr(task, cpu_all_mask);
+               set_cpus_allowed_ptr(task, cpu_possible_mask);
        }
        kfree(create);
        return task;
@@ -585,7 +585,7 @@ int kthreadd(void *unused)
        /* Setup a clean context for our children to inherit. */
        set_task_comm(tsk, "kthreadd");
        ignore_signals(tsk);
-       set_cpus_allowed_ptr(tsk, cpu_all_mask);
+       set_cpus_allowed_ptr(tsk, cpu_possible_mask);
        set_mems_allowed(node_states[N_MEMORY]);
 
        current->flags |= PF_NOFREEZE;
-- 
2.26.2

Reply via email to