On 12/13/2013 09:10 AM, Mel Gorman wrote: > Commit 81c0a2bb ("mm: page_alloc: fair zone allocator policy") solved a > bug whereby new pages could be reclaimed before old pages because of > how the page allocator and kswapd interacted on the per-zone LRU lists. > Unfortunately it was missed during review that a consequence is that > we also round-robin between NUMA nodes. This is bad for two reasons > > 1. It alters the semantics of MPOL_LOCAL without telling anyone > 2. It incurs an immediate remote memory performance hit in exchange > for a potential performance gain when memory needs to be reclaimed > later > > No cookies for the reviewers on this one. > > This patch makes the behaviour of the fair zone allocator policy > configurable. By default it will only distribute pages that are going > to exist on the LRU between zones local to the allocating process. This > preserves the historical semantics of MPOL_LOCAL. > > By default, slab pages are not distributed between zones after this patch is > applied. It can be argued that they should get similar treatment but they > have different lifecycles to LRU pages, the shrinkers are not zone-aware > and the interaction between the page allocator and kswapd is different > for slabs. If it turns out to be an almost universal win, we can change > the default. > > Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> -- All rights reversed -- 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>