Messages in this thread | | | From | riel@redhat ... | Subject | [PATCH 0/2] numa,sched: resolve conflict between load balancing and NUMA balancing | Date | Wed, 27 May 2015 15:04:26 -0400 |
| |
A previous attempt to resolve a major conflict between load balancing and NUMA balancing, changeset 095bebf61a46 ("sched/numa: Do not move past the balance point if unbalanced"), introduced its own problems.
Revert that changeset, and introduce a new fix, which actually seems to resolve the issues observed in Jirka's tests.
A test where the main thread creates a large memory area, and spawns a worker thread to iterate over the memory (placed on another node by select_task_rq_fair), after which the main thread goes to sleep and waits for the worker thread to loop over all the memory now sees the worker thread migrated to where the memory is, instead of having all the memory migrated over like before.
Jirka has run a number of performance tests on several systems: single instance SpecJBB 2005 performance is 7-15% higher on a 4 node system, with higher gains on systems with more cores per socket. Multi-instance SpecJBB 2005 (one per node), linpack, and stream see little or no changes with the revert of 095bebf61a46 and this patch.
| |