lkml.org 
[lkml]   [2010]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5/6] mm: kswapd: Treat zone->all_unreclaimable in sleeping_prematurely similar to balance_pgdat()
    Date
    After DEF_PRIORITY, balance_pgdat() considers all_unreclaimable zones to
    be balanced but sleeping_prematurely does not. This can force kswapd to
    stay awake longer than it should. This patch fixes it.

    Signed-off-by: Mel Gorman <mel@csn.ul.ie>
    ---
    mm/vmscan.c | 10 +++++++++-
    1 files changed, 9 insertions(+), 1 deletions(-)

    diff --git a/mm/vmscan.c b/mm/vmscan.c
    index e1be4e8..5995121 100644
    --- a/mm/vmscan.c
    +++ b/mm/vmscan.c
    @@ -2237,8 +2237,16 @@ static bool sleeping_prematurely(pg_data_t *pgdat, int order, long remaining)
    if (!populated_zone(zone))
    continue;

    - if (zone->all_unreclaimable)
    + /*
    + * balance_pgdat() skips over all_unreclaimable after
    + * DEF_PRIORITY. Effectively, it considers them balanced so
    + * they must be considered balanced here as well if kswapd
    + * is to sleep
    + */
    + if (zone->all_unreclaimable) {
    + balanced += zone->present_pages;
    continue;
    + }

    if (!zone_watermark_ok_safe(zone, order, high_wmark_pages(zone),
    0, 0))
    --
    1.7.1


    \
     
     \ /
      Last update: 2010-12-10 16:49    [W:0.022 / U:60.232 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site