lkml.org 
[lkml]   [2011]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/4] powerpc: remove superfluous PageTail checks on the pte gup_fast
    Date
    This part of gup_fast doesn't seem capable of handling hugetlbfs ptes,
    those should be handled by gup_hugepd only, so these checks are
    superfluous.

    Plus if this wasn't a noop, it would have oopsed because, the insistence
    of using the speculative refcounting would trigger a VM_BUG_ON if a tail
    page was encountered in the page_cache_get_speculative().

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

    diff --git a/arch/powerpc/mm/gup.c b/arch/powerpc/mm/gup.c
    index b9e1c7f..d7efdbf 100644
    --- a/arch/powerpc/mm/gup.c
    +++ b/arch/powerpc/mm/gup.c
    @@ -16,17 +16,6 @@

    #ifdef __HAVE_ARCH_PTE_SPECIAL

    -static inline void get_huge_page_tail(struct page *page)
    -{
    - /*
    - * __split_huge_page_refcount() cannot run
    - * from under us.
    - */
    - VM_BUG_ON(page_mapcount(page) < 0);
    - VM_BUG_ON(atomic_read(&page->_count) != 0);
    - atomic_inc(&page->_mapcount);
    -}
    -
    /*
    * The performance critical leaf functions are made noinline otherwise gcc
    * inlines everything into a single function which results in too much
    @@ -58,8 +47,6 @@ static noinline int gup_pte_range(pmd_t pmd, unsigned long addr,
    put_page(page);
    return 0;
    }
    - if (PageTail(page))
    - get_huge_page_tail(page);
    pages[*nr] = page;
    (*nr)++;

    --
    1.7.3.4


    \
     
     \ /
      Last update: 2011-10-16 22:43    [W:4.645 / U:0.452 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site