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 <mgor...@suse.de>
Acked-by: Rik van Riel <r...@redhat.com> -- All rights reversed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/