sched: Fix sign under-flows in wake_affine
authorPaul Turner <pjt@google.com>
Sat, 22 Jan 2011 04:44:59 +0000 (20:44 -0800)
committerIngo Molnar <mingo@elte.hu>
Wed, 26 Jan 2011 11:31:01 +0000 (12:31 +0100)
commite37b6a7b27b400c3aa488db8c6629a05095bc79c
treeb27ed41b74eb7e69d2e6b02cc659c4fab3ef12ef
parent6663050edd9c2e8b1e1f55c09459144d84c045f0
sched: Fix sign under-flows in wake_affine

While care is taken around the zero-point in effective_load to not exceed
the instantaneous rq->weight, it's still possible (e.g. using wake_idx != 0)
for (load + effective_load) to underflow.

In this case the comparing the unsigned values can result in incorrect balanced
decisions.

Signed-off-by: Paul Turner <pjt@google.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20110122044851.734245014@google.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_fair.c