From: Ingo Molnar Date: Mon, 18 Apr 2005 17:58:36 +0000 (-0700) Subject: [PATCH] sched: fix signed comparisons of long long X-Git-Tag: v2.6.12-rc3~27^2~3 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=238628edb6cd427454fb54994e2605e191bfc26a;p=linux-2.6 [PATCH] sched: fix signed comparisons of long long Signed-off-by: Jesper Juhl Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds --- diff --git a/kernel/sched.c b/kernel/sched.c index f69c4a5361..9bb7489ee6 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2648,9 +2648,9 @@ need_resched_nonpreemptible: schedstat_inc(rq, sched_cnt); now = sched_clock(); - if (likely((long long)now - prev->timestamp < NS_MAX_SLEEP_AVG)) { + if (likely((long long)(now - prev->timestamp) < NS_MAX_SLEEP_AVG)) { run_time = now - prev->timestamp; - if (unlikely((long long)now - prev->timestamp < 0)) + if (unlikely((long long)(now - prev->timestamp) < 0)) run_time = 0; } else run_time = NS_MAX_SLEEP_AVG; @@ -2728,7 +2728,7 @@ go_idle: if (!rt_task(next) && next->activated > 0) { unsigned long long delta = now - next->timestamp; - if (unlikely((long long)now - next->timestamp < 0)) + if (unlikely((long long)(now - next->timestamp) < 0)) delta = 0; if (next->activated == 1)