Messages in this thread Patch in this message | | | From | riel@redhat ... | Subject | [PATCH 1/4] sched,numa: override part of migrate_degrades_locality when idle balancing | Date | Fri, 23 Jun 2017 12:55:27 -0400 |
| |
From: Rik van Riel <riel@redhat.com>
Several tests in the NAS benchmark seem to run a lot slower with NUMA balancing enabled, than with NUMA balancing disabled. The slower run time corresponds with increased idle time.
Overriding the final test of migrate_degrades_locality (but still doing the other NUMA tests first) seems to improve performance of those benchmarks.
Reported-by: Jirka Hladky <jhladky@redhat.com> Signed-off-by: Rik van Riel <riel@surriel.com> Signed-off-by: Rik van Riel <riel@redhat.com> --- kernel/sched/fair.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 2a0e71034e36..2180c8591e16 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -6635,6 +6635,10 @@ static int migrate_degrades_locality(struct task_struct *p, struct lb_env *env) if (dst_nid == p->numa_preferred_nid) return 0; + /* Leaving a core idle is often worse than degrading locality. */ + if (env->idle != CPU_NOT_IDLE) + return -1; + if (numa_group) { src_faults = group_faults(p, src_nid); dst_faults = group_faults(p, dst_nid); -- 2.9.4
| |