Messages in this thread | | | Date | Mon, 16 Dec 2013 14:25:49 -0500 | From | Rik van Riel <> | Subject | Re: [PATCH 5/7] mm: page_alloc: Make zone distribution page aging policy configurable |
| |
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@suse.de>
Acked-by: Rik van Riel <riel@redhat.com>
-- All rights reversed
| |