Messages in this thread | | | Date | Fri, 22 Mar 2013 11:56:21 +0800 | From | Will Huck <> | Subject | Re: [PATCH 01/10] mm: vmscan: Limit the number of pages kswapd reclaims at each priority |
| |
Hi Rik, On 03/22/2013 11:52 AM, Rik van Riel wrote: > On 03/21/2013 08:05 PM, Will Huck wrote: > >> One offline question, how to understand this in function balance_pgdat: >> /* >> * Do some background aging of the anon list, to give >> * pages a chance to be referenced before reclaiming. >> */ >> age_acitve_anon(zone, &sc); > > The anon lrus use a two-handed clock algorithm. New anonymous pages > start off on the active anon list. Older anonymous pages get moved > to the inactive anon list.
The file lrus also use the two-handed clock algorithm, correct?
> > If they get referenced before they reach the end of the inactive anon > list, they get moved back to the active list. > > If we need to swap something out and find a non-referenced page at the > end of the inactive anon list, we will swap it out. > > In order to make good pageout decisions, pages need to stay on the > inactive anon list for a longer time, so they have plenty of time to > get referenced, before the reclaim code looks at them. > > To achieve that, we will move some active anon pages to the inactive > anon list even when we do not want to swap anything out - as long as > the inactive anon list is below its target size. > > Does that make sense?
Make sense, thanks.
| |