Currently the numa balancing code refuses to move a task from a heavily loaded node to a much less heavily loaded node, if the difference in load between them is large enough.
If the source load is larger than the destination load after the swap, moving the task is fine. Chances are the load balancer would move tasks in the same direction, anyway. Signed-off-by: Rik van Riel <r...@redhat.com> --- kernel/sched/fair.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 6d9474c..98a018f 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1224,10 +1224,6 @@ static void task_numa_compare(struct task_numa_env *env, src_load += load; } - /* make src_load the smaller */ - if (dst_load < src_load) - swap(dst_load, src_load); - if (src_load * env->imbalance_pct < dst_load * 100) goto unlock; -- 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/