lkml.org 
[lkml]   [2011]   [Feb]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 4/8] mm: Revert page_lock_anon_vma() lock annotation
    Its beyond ugly and gets in the way.

    Cc: Namhyung Kim <namhyung@gmail.com>
    Acked-by: Hugh Dickins <hughd@google.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    ---
    include/linux/rmap.h | 15 +--------------
    mm/rmap.c | 4 +---
    2 files changed, 2 insertions(+), 17 deletions(-)

    Index: linux-2.6/include/linux/rmap.h
    ===================================================================
    --- linux-2.6.orig/include/linux/rmap.h
    +++ linux-2.6/include/linux/rmap.h
    @@ -243,20 +243,7 @@ int try_to_munlock(struct page *);
    /*
    * Called by memory-failure.c to kill processes.
    */
    -struct anon_vma *__page_lock_anon_vma(struct page *page);
    -
    -static inline struct anon_vma *page_lock_anon_vma(struct page *page)
    -{
    - struct anon_vma *anon_vma;
    -
    - __cond_lock(RCU, anon_vma = __page_lock_anon_vma(page));
    -
    - /* (void) is needed to make gcc happy */
    - (void) __cond_lock(&anon_vma->root->lock, anon_vma);
    -
    - return anon_vma;
    -}
    -
    +struct anon_vma *page_lock_anon_vma(struct page *page);
    void page_unlock_anon_vma(struct anon_vma *anon_vma);
    int page_mapped_in_vma(struct page *page, struct vm_area_struct *vma);

    Index: linux-2.6/mm/rmap.c
    ===================================================================
    --- linux-2.6.orig/mm/rmap.c
    +++ linux-2.6/mm/rmap.c
    @@ -318,7 +318,7 @@ void __init anon_vma_init(void)
    * Getting a lock on a stable anon_vma from a page off the LRU is
    * tricky: page_lock_anon_vma rely on RCU to guard against the races.
    */
    -struct anon_vma *__page_lock_anon_vma(struct page *page)
    +struct anon_vma *page_lock_anon_vma(struct page *page)
    {
    struct anon_vma *anon_vma, *root_anon_vma;
    unsigned long anon_mapping;
    @@ -352,8 +352,6 @@ struct anon_vma *__page_lock_anon_vma(st
    }

    void page_unlock_anon_vma(struct anon_vma *anon_vma)
    - __releases(&anon_vma->root->lock)
    - __releases(RCU)
    {
    anon_vma_unlock(anon_vma);
    rcu_read_unlock();



    \
     
     \ /
      Last update: 2011-02-17 18:17    [W:0.020 / U:1.008 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site