[PATCH] numa,sched: fix load_to_imbalanced logic inversion

From: Rik van Riel
Date: Sun Jun 08 2014 - 16:56:46 EST


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 <riel@xxxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/