lkml.org 
[lkml]   [2009]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] [2/15] HWPOISON: Export some rmap vma locking to outside world
    Date

    Needed for later patch that walks rmap entries on its own.

    This used to be very frowned upon, but memory-failure.c does
    some rather specialized rmap walking and rmap has been stable
    for quite some time, so I think it's ok now to export it.

    Signed-off-by: Andi Kleen <ak@linux.intel.com>

    ---
    include/linux/rmap.h | 6 ++++++
    mm/rmap.c | 4 ++--
    2 files changed, 8 insertions(+), 2 deletions(-)

    Index: linux/include/linux/rmap.h
    ===================================================================
    --- linux.orig/include/linux/rmap.h
    +++ linux/include/linux/rmap.h
    @@ -112,6 +112,12 @@ int page_mkclean(struct page *);
    */
    int try_to_munlock(struct page *);

    +/*
    + * Called by memory-failure.c to kill processes.
    + */
    +struct anon_vma *page_lock_anon_vma(struct page *page);
    +void page_unlock_anon_vma(struct anon_vma *anon_vma);
    +
    #else /* !CONFIG_MMU */

    #define anon_vma_init() do {} while (0)
    Index: linux/mm/rmap.c
    ===================================================================
    --- linux.orig/mm/rmap.c
    +++ linux/mm/rmap.c
    @@ -191,7 +191,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.
    */
    -static 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;
    unsigned long anon_mapping;
    @@ -211,7 +211,7 @@ out:
    return NULL;
    }

    -static void page_unlock_anon_vma(struct anon_vma *anon_vma)
    +void page_unlock_anon_vma(struct anon_vma *anon_vma)
    {
    spin_unlock(&anon_vma->lock);
    rcu_read_unlock();

    \
     
     \ /
      Last update: 2009-08-04 23:59    [W:0.021 / U:59.724 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site