Re: [RFC][PATCH] split file and anonymous page queues #3

From: Nikita Danilov
Date: Wed Mar 21 2007 - 07:49:10 EST


Rik van Riel writes:
> Nikita Danilov wrote:
> > Rik van Riel writes:
> > > [ OK, I suck. I edited yesterday's email with the new info, but forgot
> > > to change the attachment to today's patch. Here is today's patch. ]
> > >
> > > Split the anonymous and file backed pages out onto their own pageout
> > > queues. This we do not unnecessarily churn through lots of anonymous
> > > pages when we do not want to swap them out anyway.
> >
> > Won't this re-introduce problems similar to ones due to split
> > inactive_clean/inactive_dirty queues we had in the past?
> >
> > For example, by rotating anon queues faster than file queues, kernel
> > would end up reclaiming anon pages that are hotter (in "absolute" LRU
> > order) than some file pages.
>
> That is why we check the fraction of referenced pages in each
> queue. Please look at the get_scan_ratio() and shrink_zone()
> code in my patch.

Probably I am missing something, but I don't see how that can help. For
example, suppose (for simplicity) that we have swappiness of 100%, and
that fraction of referenced anon pages gets slightly less than of file
pages. get_scan_ratio() increases anon_percent, and shrink_zone() starts
scanning anon queue more aggressively. As a result, pages spend less
time there, and have less chance of ever being accessed, reducing
fraction of referenced anon pages further, and triggering further
increase in the amount of scanning, etc. Doesn't this introduce positive
feed-back loop?

Nikita.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/