lkml.org 
[lkml]   [2010]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC PATCH 00/10] Reduce stack usage used by page reclaim V1
    Date
    This is just an RFC to reduce some of the more obvious stack usage in page
    reclaim. It's a bit rushed and I haven't tested this yet but am sending
    it out as there may be others working on similar material and would rather
    avoid overlap. I built on some of Kosaki Motohiro's work.

    On X86 bit, stack usage figures (generated using a modified bloat-o-meter
    that uses checkstack.pl as its input) change in the following ways after
    the series of patches.

    add/remove: 2/0 grow/shrink: 0/4 up/down: 804/-1688 (-884)
    function old new delta
    putback_lru_pages - 676 +676
    update_isolated_counts - 128 +128
    do_try_to_free_pages 172 128 -44
    kswapd 1324 1168 -156
    shrink_page_list 1616 1224 -392
    shrink_zone 2320 1224 -1096

    There are some growths there but critically they are no longer in the path
    that would call writepages. In the main path, there is about 1K of stack
    lopped off giving a small amount of breathing room.

    KOSAKI Motohiro (3):
    vmscan: kill prev_priority completely
    vmscan: move priority variable into scan_control
    vmscan: simplify shrink_inactive_list()

    Mel Gorman (7):
    vmscan: Remove useless loop at end of do_try_to_free_pages
    vmscan: Remove unnecessary temporary vars in do_try_to_free_pages
    vmscan: Split shrink_zone to reduce stack usage
    vmscan: Remove unnecessary temporary variables in shrink_zone()
    vmscan: Setup pagevec as late as possible in shrink_inactive_list()
    vmscan: Setup pagevec as late as possible in shrink_page_list()
    vmscan: Update isolated page counters outside of main path in
    shrink_inactive_list()

    include/linux/mmzone.h | 15 --
    mm/page_alloc.c | 2 -
    mm/vmscan.c | 447 +++++++++++++++++++++++-------------------------
    mm/vmstat.c | 2 -
    4 files changed, 210 insertions(+), 256 deletions(-)



    \
     
     \ /
      Last update: 2010-04-15 19:25    [W:0.019 / U:90.560 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site