This function is supposed to return true if the new load imbalance
is worse than the old one. It didn't. I can only hope brown paper
bags are in style.

Now things converge much better on both the 4 node and 8 node systems.

I am not sure why this did not seem to impact specjbb performance on
the 4 node system, which is the system I have full-time access to.

This bug was introduced recently, with commit e63da036

Signed-off-by: Rik van Riel <r...@redhat.com>
---
 kernel/sched/fair.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 6a90f67..7fb3e47 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1112,7 +1112,7 @@ static bool load_too_imbalanced(long orig_src_load, long 
orig_dst_load,
        old_imb = orig_dst_load * 100 - orig_src_load * env->imbalance_pct;
 
        /* Would this change make things worse? */
-       return (old_imb > imb);
+       return (imb > old_imb);
 }
 
 /*

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to