lkml.org 
[lkml]   [2006]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[RFC][PATCH 1/2] grab swap token reordered
    From
    Date

    This patch makes sure the contention for the token happens _before_ any
    read-in and kicks the swap-token algo only when the VM is under
    pressure.



    Signed-off-by: Ashwin Chaugule <ashwin.chaugule@celunite.com>

    --
    diff --git a/mm/filemap.c b/mm/filemap.c
    index afcdc72..c17b2ab 100644
    --- a/mm/filemap.c
    +++ b/mm/filemap.c
    @@ -1479,7 +1479,6 @@ no_cached_page:
    * effect.
    */
    error = page_cache_read(file, pgoff);
    - grab_swap_token();

    /*
    * The page we want has now been added to the page cache.
    diff --git a/mm/memory.c b/mm/memory.c
    index 92a3ebd..4a877e9 100644
    --- a/mm/memory.c
    +++ b/mm/memory.c
    @@ -1974,6 +1974,7 @@ static int do_swap_page(struct mm_struct
    delayacct_set_flag(DELAYACCT_PF_SWAPIN);
    page = lookup_swap_cache(entry);
    if (!page) {
    + grab_swap_token(); /* Contend for token _before_ read-in */
    swapin_readahead(entry, address, vma);
    page = read_swap_cache_async(entry, vma, address);
    if (!page) {
    @@ -1991,7 +1992,6 @@ static int do_swap_page(struct mm_struct
    /* Had to read the page from swap area: Major fault */
    ret = VM_FAULT_MAJOR;
    count_vm_event(PGMAJFAULT);
    - grab_swap_token();
    }

    delayacct_clear_flag(DELAYACCT_PF_SWAPIN);
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-10-08 22:27    [W:0.020 / U:30.128 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site