diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 37a2021174d11f989ca8911e40752fffa989818c..ead65a93b1455d7fbec815ede6e7310514ff9d4d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1094,10 +1094,13 @@ static int __set_cpus_allowed_ptr(struct task_struct *p, } /* Can the task run on the task's current CPU? If so, we're done */ - if (cpumask_test_cpu(task_cpu(p), new_mask)) + if (cpumask_test_cpu(task_cpu(p), new_mask)) { + __ipipe_report_setaffinity(p, task_cpu(p)); goto out; + } dest_cpu = cpumask_any_and(cpu_valid_mask, new_mask); + __ipipe_report_setaffinity(p, dest_cpu); if (task_running(rq, p) || p->state == TASK_WAKING) { struct migration_arg arg = { p, dest_cpu }; /* Need help from migration thread: drop lock and wait. */