| Date | Wed, 20 Mar 2013 20:51:35 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH 01/10] mm: vmscan: Limit the number of pages kswapd reclaims at each priority |
| |
On 03/17/2013 09:04 AM, 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 > 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. > > Signed-off-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
-- All rights reversed
|