Messages in this thread | | | Date | Mon, 09 Mar 2015 16:51:52 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH V3] Allow compaction of unevictable pages |
| |
On 03/09/2015 04:48 PM, Eric B Munson wrote: > Currently, pages which are marked as unevictable are protected from > compaction, but not from other types of migration. The mlock > desctription does not promise that all page faults will be avoided, only > major ones so this protection is not necessary. This extra protection > can cause problems for applications that are using mlock to avoid > swapping pages out, but require order > 0 allocations to continue to > succeed in a fragmented environment. This patch removes the > ISOLATE_UNEVICTABLE mode and the check for it in __isolate_lru_page(). > Removing this check allows the removal of the isolate_mode argument from > isolate_migratepages_block() because it can compute the required mode > from the compact_control structure. > > To illustrate this problem I wrote a quick test program that mmaps a > large number of 1MB files filled with random data. These maps are > created locked and read only. Then every other mmap is unmapped and I > attempt to allocate huge pages to the static huge page pool. Without > this patch I am unable to allocate any huge pages after fragmenting > memory. With it, I can allocate almost all the space freed by unmapping > as huge pages. > > Signed-off-by: Eric B Munson <emunson@akamai.com> > Acked-by: David Rientjes <rientjes@google.com> > Cc: Vlastimil Babka <vbabka@suse.cz> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Christoph Lameter <cl@linux.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Mel Gorman <mgorman@suse.de> > Cc: David Rientjes <rientjes@google.com> > Cc: linux-mm@kvack.org > Cc: linux-kernel@vger.kernel.org
Acked-by: Rik van Riel <riel@redhat.com>
| |