lkml.org 
[lkml]   [2015]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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>



\
 
 \ /
  Last update: 2015-03-09 22:01    [W:1.889 / U:0.728 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site