On Mon, Jan 27, 2014 at 05:03:44PM -0500, riel@xxxxxxxxxx wrote: > From: Rik van Riel <riel@xxxxxxxxxx> > > Use the active_nodes nodemask to make smarter decisions on NUMA migrations. > > In order to maximize performance of workloads that do not fit in one NUMA > node, we want to satisfy the following criteria: > 1) keep private memory local to each thread > 2) avoid excessive NUMA migration of pages > 3) distribute shared memory across the active nodes, to > maximize memory bandwidth available to the workload > > This patch accomplishes that by implementing the following policy for > NUMA migrations: > 1) always migrate on a private fault > 2) never migrate to a node that is not in the set of active nodes > for the numa_group > 3) always migrate from a node outside of the set of active nodes, > to a node that is in that set > 4) within the set of active nodes in the numa_group, only migrate > from a node with more NUMA page faults, to a node with fewer > NUMA page faults, with a 25% margin to avoid ping-ponging > > This results in most pages of a workload ending up on the actively > used nodes, with reduced ping-ponging of pages between those nodes. > > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: Chegu Vinod <chegu_vinod@xxxxxx> > Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>