On Tue, Mar 19, 2013 at 07:53:16AM +0800, Simon Jeons wrote: > Hi Mel, > On 03/17/2013 09:04 PM, Mel Gorman wrote: > >The number of pages kswapd can reclaim is bound by the number of pages it > >scans which is related to the size of the zone and the scanning priority. In > >many cases the priority remains low because it's reset every SWAP_CLUSTER_MAX > >reclaimed pages but in the event kswapd scans a large number of pages it > >cannot reclaim, it will raise the priority and potentially discard a large > >percentage of the zone as sc->nr_to_reclaim is ULONG_MAX. The user-visible > >effect is a reclaim "spike" where a large percentage of memory is suddenly > >freed. It would be bad enough if this was just unused memory but because > > Since there is nr_reclaimed >= nr_to_reclaim check if priority is > large than DEF_PRIORITY in shrink_lruvec, how can a large percentage > of memory is suddenly freed happen? >
Because of the priority checks made in get_scan_count(). Patch 5 has more detail on why this happens. -- Mel Gorman SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/