• Mel Gorman's avatar
    vmscan: do not unconditionally treat zones that fail zone_reclaim() as full · 0e52a852
    Mel Gorman authored
    commit fa5e084e upstream.
    
    vmscan: do not unconditionally treat zones that fail zone_reclaim() as full
    
    On NUMA machines, the administrator can configure zone_reclaim_mode that
    is a more targetted form of direct reclaim.  On machines with large NUMA
    distances for example, a zone_reclaim_mode defaults to 1 meaning that
    clean unmapped pages will be reclaimed if the zone watermarks are not
    being met.  The problem is that zone_reclaim() failing at all means the
    zone gets marked full.
    
    This can cause situations where a zone is usable, but is being skipped
    because it has been considered full.  Take a situation where a large tmpfs
    mount is occuping a large percentage of memory overall.  The pages do not
    get cleaned or reclaimed by zone_reclaim(), but the zone gets marked full
    and the zonelist cache considers them not worth trying in the future.
    
    This patch makes zone_reclaim() return more fine-grained info...
    0e52a852
vmscan.c 74.7 KB