Automatic NUMA Balancing has been quick to advance as it prepares for eventually merging into the mainline Linux kernel.
There's been several revisions to the "Automatic NUMA Balancing" code the past few days on the kernel mailing list
. This work amounts to balancing of CPUs/memory for Non-Uniform Memory Access (NUMA) hardware for automatically migrating pages to optimize NUMA locality. There are two policies: MORON (Migrate On Reference Of pte_numa Node) and a variation of a home-node policy.
Of the 43 patches, some "the concept of a home-node that the scheduler tries to keep processes on. It's advisory only and not particularly strict. There may be a problem with this whereby the load balancer is not pushing processes back to their home node because there are no idle CPUs available. It might need to be more aggressive about swapping two tasks that are both running off their home node." Another patch "implements a CPU follow memory policy that is roughly based on what was in autonuma. It builds statistics on faults on a per-task and per-mm basis and decides if a tasks home node should be updated on that basis."
Within the aforelinked mailing list post are many more details along with some Auto NUMA benchmark results.