lkml.org 
[lkml]   [2007]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[RFC 6/7] kswapd: Do laundry after reclaim
    Collect dirty pages and perform writeout when everything else is done.

    Signed-off-by: Christoph Lameter <clameter@sgi.com>

    ---
    mm/vmscan.c | 7 +++++--
    1 file changed, 5 insertions(+), 2 deletions(-)

    Index: linux-2.6/mm/vmscan.c
    ===================================================================
    --- linux-2.6.orig/mm/vmscan.c 2007-08-19 23:53:43.000000000 -0700
    +++ linux-2.6/mm/vmscan.c 2007-08-19 23:53:47.000000000 -0700
    @@ -1273,6 +1273,7 @@ static unsigned long balance_pgdat(pg_da
    * this zone was successfully refilled to free_pages == pages_high.
    */
    int temp_priority[MAX_NR_ZONES];
    + LIST_HEAD(laundry);

    loop_again:
    total_scanned = 0;
    @@ -1347,7 +1348,7 @@ loop_again:
    temp_priority[i] = priority;
    sc.nr_scanned = 0;
    note_zone_scanning_priority(zone, priority);
    - nr_reclaimed += shrink_zone(priority, zone, &sc, NULL);
    + nr_reclaimed += shrink_zone(priority, zone, &sc, &laundry);
    reclaim_state->reclaimed_slab = 0;
    nr_slab = shrink_slab(sc.nr_scanned, GFP_KERNEL,
    lru_pages);
    @@ -1374,6 +1375,7 @@ loop_again:
    * OK, kswapd is getting into trouble. Take a nap, then take
    * another pass across the zones.
    */
    + throttle_vm_writeout(GFP_KERNEL);
    if (total_scanned && priority < DEF_PRIORITY - 2)
    congestion_wait(WRITE, HZ/10);

    @@ -1404,7 +1406,8 @@ out:

    goto loop_again;
    }
    -
    + nr_reclaimed += shrink_page_list(&laundry, &sc, NULL);
    + release_lru_pages(&laundry);
    return nr_reclaimed;
    }

    --
    -
    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: 2007-08-20 23:59    [W:0.023 / U:31.012 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site