lkml.org 
[lkml]   [2009]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 02/15] HWPOISON: Export some rmap vma locking to outside world
    From: Andi Kleen <ak@linux.intel.com>

    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(-)

    --- sound-2.6.orig/include/linux/rmap.h
    +++ sound-2.6/include/linux/rmap.h
    @@ -116,6 +116,12 @@ int try_to_munlock(struct page *);
    int page_wrprotect(struct page *page, int *odirect_sync, int count_offset);
    #endif

    +/*
    + * 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)
    --- sound-2.6.orig/mm/rmap.c
    +++ sound-2.6/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-06-20 05:25    [W:0.022 / U:29.844 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site