sched: fix: move the CPU check into ->task_new_fair()
[deliverable/linux.git] / kernel / sched_fair.c
index a9dfb7746c5c78c537588f746fd60c9c0e3f94e9..f5f491762e3510aff5e1624f84d2ac0b3ccfeb86 100644 (file)
@@ -1007,13 +1007,14 @@ static void task_new_fair(struct rq *rq, struct task_struct *p)
 {
        struct cfs_rq *cfs_rq = task_cfs_rq(p);
        struct sched_entity *se = &p->se, *curr = cfs_rq->curr;
+       int this_cpu = smp_processor_id();
 
        sched_info_queued(p);
 
        update_curr(cfs_rq);
        place_entity(cfs_rq, se, 1);
 
-       if (sysctl_sched_child_runs_first &&
+       if (sysctl_sched_child_runs_first && this_cpu == task_cpu(p) &&
                        curr->vruntime < se->vruntime) {
                /*
                 * Upon rescheduling, sched_class::put_prev_task() will place
This page took 0.027718 seconds and 5 git commands to generate.