lkml.org 
[lkml]   [2010]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 56 of 66] transhuge isolate_migratepages()
    Date
    From
    From: Andrea Arcangeli <aarcange@redhat.com>

    It's not worth migrating transparent hugepages during compaction. Those
    hugepages don't create fragmentation.

    Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
    ---

    diff --git a/mm/compaction.c b/mm/compaction.c
    --- a/mm/compaction.c
    +++ b/mm/compaction.c
    @@ -272,10 +272,25 @@ static unsigned long isolate_migratepage
    if (PageBuddy(page))
    continue;

    + if (!PageLRU(page))
    + continue;
    +
    + /*
    + * PageLRU is set, and lru_lock excludes isolation,
    + * splitting and collapsing (collapsing has already
    + * happened if PageLRU is set).
    + */
    + if (PageTransHuge(page)) {
    + low_pfn += (1 << compound_order(page)) - 1;
    + continue;
    + }
    +
    /* Try isolate the page */
    if (__isolate_lru_page(page, ISOLATE_BOTH, 0) != 0)
    continue;

    + VM_BUG_ON(PageTransCompound(page));
    +
    /* Successfully isolated */
    del_page_from_lru_list(zone, page, page_lru(page));
    list_add(&page->lru, migratelist);

    \
     
     \ /
      Last update: 2010-11-03 16:53    [W:0.023 / U:34.740 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site