• Andrew Morton's avatar
    [PATCH] vmscan: give dirty referenced pages another pass · d55158b5
    Andrew Morton authored
    In a further attempt to prevent dirty pages from being written out from the
    LRU, don't write them if they were referenced.  This gives those pages
    another trip around the inactive list.  So more of them are written via
    balance_dirty_pages().
    
    It speeds up an untar-of-five-kernel trees by 5% on a 256M box, presumably
    because balance_dirty_pages() has better IO patterns.
    
    It largely fixes the problem which Gerrit talked about at the kernel summit:
    the individual writepage()s of dirty pages coming off the tail of the LRU are
    reduced by 83% in their database workload.
    
    I'm a bit worried that it increases scanning and OOM possibilities under
    nutty VM stress cases, but nothing untoward has been noted during its four
    weeks in -mm, so...
    d55158b5
vmscan.c 30.5 KB