lkml.org 
[lkml]   [2009]   [Jun]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[BUGFIX][PATCH] fix lumpy reclaim lru handiling at isolate_lru_pages v2
    Sorry for noisy posts. I hope this should be the last trial.
    Thank you for all helps.

    -Kame
    ==
    From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>

    At lumpy reclaim, a page failed to be taken by __isolate_lru_page() can
    be pushed back to "src" list by list_move(). But the page may not be from
    "src" list. This pushes the page back to wrong LRU.
    And list_move() itself is unnecessary because the page is
    not on top of LRU. Then, leave it as it is if __isolate_lru_page() fails.

    Changelog: v1->v2
    - removed buggy break.

    Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
    Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Acked-by: Mel Gorman <mel@csn.ul.ie>
    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    ---
    mm/vmscan.c | 10 +---------
    1 file changed, 1 insertion(+), 9 deletions(-)

    Index: lumpy-reclaim-trial/mm/vmscan.c
    ===================================================================
    --- lumpy-reclaim-trial.orig/mm/vmscan.c
    +++ lumpy-reclaim-trial/mm/vmscan.c
    @@ -936,18 +936,10 @@ static unsigned long isolate_lru_pages(u
    /* Check that we have not crossed a zone boundary. */
    if (unlikely(page_zone_id(cursor_page) != zone_id))
    continue;
    - switch (__isolate_lru_page(cursor_page, mode, file)) {
    - case 0:
    + if (__isolate_lru_page(cursor_page, mode, file) == 0) {
    list_move(&cursor_page->lru, dst);
    nr_taken++;
    scan++;
    - break;
    -
    - case -EBUSY:
    - /* else it is being freed elsewhere */
    - list_move(&cursor_page->lru, src);
    - default:
    - break; /* ! on LRU or wrong list */
    }
    }
    }


    \
     
     \ /
      Last update: 2009-06-12 03:31    [W:0.022 / U:30.048 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site