Re: [PATCH 3/5] mm improvements

Andrew Morton
2004-02-04T18:53:15Z

Nikita Danilov <Nikita@Namesys.COM> wrote:
>
> Rik van Riel writes:
> > On Wed, 4 Feb 2004, Nick Piggin wrote:
> > > Nick Piggin wrote:
> > >
> > > > 3/5: vm-lru-info.patch
> > > > Keep more referenced info in the active list. Should also improve
> > > > system time in some cases. Helps swapping loads significantly.
> >
> > I suspect this is one of the more important ones in this
> > batch of patches...
>
> I don't understand how this works. This patch just parks mapped pages on
> the "ignored" segment of the active list, where they rest until
> reclaim_mapped mode is entered.
>
> This only makes a difference for the pages that were page_referenced():
>
> 1. they are moved to the ignored segment rather than to the head of the
> active list.
>
> 2. their referenced bit is not cleared
>
> Now, as "ignored" segment is not scanned in !reclaim_mode, (2) would
> only make a difference when VM rapidly oscillates between reclaim_mapped
> and !reclaim_mapped, because after a long period of !reclaim_mapped
> operation preserved referenced bit on a page only means "this page has
> been referenced in the past, but not necessary recently".

Yes, reclaim_mapped shouldn't change at all frequently, unless the
zone->prev_priority thing is broken. prev_priority is supposed to remember
the reclaim_mapped state between successive scan attempts so we go straight
into doing the right thing.

It _was_ working - I instrumented and tested that when it went in. It was
a bit tricky to get right.