[PATCH] sched: fix signed comparisons of long long
authorIngo Molnar <mingo@elte.hu>
Mon, 18 Apr 2005 17:58:36 +0000 (10:58 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 18 Apr 2005 17:58:36 +0000 (10:58 -0700)
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/sched.c

index f69c4a5361e3b8eae8f092d9718aa6d062924910..9bb7489ee64509eca180fe3cfe755db49b153702 100644 (file)
@@ -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)