Re: [PATCH] mm: evict streaming IO cache first

From: Rik van Riel
Date: Mon Nov 17 2008 - 11:54:57 EST


Linus Torvalds wrote:

Another thing strikes me: it looks like the logic in "get_scan_ratio()" has a tendency to get unbalanced - if we end up deciding that we should scan a lot of anonymous pages, the scan numbers for anonymous pages will go up, and we get even _more_ eager to scan those. Of course, "rotate" events will then make us less likely again, but for streaming loads, you wouldn't expect to see those at all.

True for streaming loads - if we scan the file list and find
mostly pages from streaming loads, we will become more eager
to scan the file list.

I do not expect streaming loads to ever hit the anon list in
the same way, because anonymous pages start out referenced and
on the active list, which means an anonymous deactivation will
always be counted as a rotate event.

There seems to be another bug there wrt the "aging" - we age anon page events and file page events independently, which sounds like it would make the math totally nonsensical. We do that whole

anon / (anon + file)

That's an outdated comment. Andrew had a patch to update that
comment, but it must have gotten lost somewhere. I'll send you
a patch to update it.

If you look at the actual calculation, you'l see that the
scan percentages are keyed off just swappiness and the
rotated/scanned ratios for each page category.

--
All rights reversed.
--
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/