lkml.org 
[lkml]   [2010]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/4] hugetlb, rmap: always use anon_vma root pointer
    Date
    This patch applies Andrea's fix given by the following patch into hugepage
    rmapping code:

    commit 288468c334e98aacbb7e2fb8bde6bc1adcd55e05
    Author: Andrea Arcangeli <aarcange@redhat.com>
    Date: Mon Aug 9 17:19:09 2010 -0700

    This patch uses anon_vma->root and avoids unnecessary overwriting when
    anon_vma is already set up.

    Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    ---
    mm/rmap.c | 13 +++++++------
    1 files changed, 7 insertions(+), 6 deletions(-)

    diff --git v2.6.36-rc3/mm/rmap.c v2.6.36-rc3/mm/rmap.c
    index f6f0d2d..2854857 100644
    --- v2.6.36-rc3/mm/rmap.c
    +++ v2.6.36-rc3/mm/rmap.c
    @@ -1564,13 +1564,14 @@ static void __hugepage_set_anon_rmap(struct page *page,
    struct vm_area_struct *vma, unsigned long address, int exclusive)
    {
    struct anon_vma *anon_vma = vma->anon_vma;
    +
    BUG_ON(!anon_vma);
    - if (!exclusive) {
    - struct anon_vma_chain *avc;
    - avc = list_entry(vma->anon_vma_chain.prev,
    - struct anon_vma_chain, same_vma);
    - anon_vma = avc->anon_vma;
    - }
    +
    + if (PageAnon(page))
    + return;
    + if (!exclusive)
    + anon_vma = anon_vma->root;
    +
    anon_vma = (void *) anon_vma + PAGE_MAPPING_ANON;
    page->mapping = (struct address_space *) anon_vma;
    page->index = linear_page_index(vma, address);
    --
    1.7.2.2


    \
     
     \ /
      Last update: 2010-09-10 06:29    [W:0.021 / U:0.228 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site