sched: resched task in task_new_fair()
authorIngo Molnar <mingo@elte.hu>
Mon, 15 Oct 2007 15:00:02 +0000 (17:00 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 15 Oct 2007 15:00:02 +0000 (17:00 +0200)
to get full child-runs-first semantics make sure the parent is
rescheduled.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
kernel/sched_fair.c

index 67c67a87146ebaa64514c4bdf8b0ae5de0d4cf47..0990b20fdcf523132e77fe5874c813125ade1e71 100644 (file)
@@ -1191,6 +1191,7 @@ static void task_new_fair(struct rq *rq, struct task_struct *p)
                se->wait_runtime = -(sched_granularity(cfs_rq) / 2);
 
        __enqueue_entity(cfs_rq, se);
+       resched_task(rq->curr);
 }
 
 #ifdef CONFIG_FAIR_GROUP_SCHED