sched: fix sign check error in place_entity()
authorIngo Molnar <mingo@elte.hu>
Mon, 15 Oct 2007 15:00:11 +0000 (17:00 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 15 Oct 2007 15:00:11 +0000 (17:00 +0200)
fix sign check error in place_entity() - we'd get excessive
latencies due to negatives being converted to large u64's.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
kernel/sched_fair.c

index 62a9ee8db13e98136e2f70a027bab6a3cb020ced..2bd9625fa62d0d6f52fa62fd1329fc85edc98580 100644 (file)
@@ -483,7 +483,7 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
                if (sched_feat(NEW_FAIR_SLEEPERS))
                        vruntime -= sysctl_sched_latency;
 
-               vruntime = max(vruntime, se->vruntime);
+               vruntime = max_t(s64, vruntime, se->vruntime);
        }
 
        se->vruntime = vruntime;