On Thu, Mar 21, 2013 at 11:57:05AM -0400, Johannes Weiner wrote: > On Sun, Mar 17, 2013 at 01:04:07PM +0000, 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 > > of how anon/file pages are balanced it is possible that applications get > > pushed to swap unnecessarily. > > > > This patch limits the number of pages kswapd will reclaim to the high > > watermark. Reclaim will will overshoot due to it not being a hard limit as > > will -> still? > > > shrink_lruvec() will ignore the sc.nr_to_reclaim at DEF_PRIORITY but it > > prevents kswapd reclaiming the world at higher priorities. The number of > > pages it reclaims is not adjusted for high-order allocations as kswapd will > > reclaim excessively if it is to balance zones for high-order allocations. > > I don't really understand this last sentence. Is the excessive > reclaim a result of the patch, a description of what's happening > now...? >
It's a very basic description of what happens now and with the patch applied. Until patch 5 is applied, kswapd can still reclaim the world if it reaches priority 0. > > Signed-off-by: Mel Gorman <mgor...@suse.de> > > Nice, thank you. Using the high watermark for larger zones is more > reasonable than my hack that just always went with SWAP_CLUSTER_MAX, > what with inter-zone LRU cycle time balancing and all. > > Acked-by: Johannes Weiner <han...@cmpxchg.org> Thanks. -- 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/