Re: [PATCH]vmscan: handle underflow for get_scan_ratio

From: Rik van Riel
Date: Mon Apr 12 2010 - 22:43:19 EST


On 04/12/2010 09:30 PM, KOSAKI Motohiro wrote:
On 04/09/2010 05:20 PM, Andrew Morton wrote:

Come to that, it's not obvious that we need this in 2.6.34 either. What
is the user-visible impact here?

I suspect very little impact, especially during workloads
where we can just reclaim clean page cache at DEF_PRIORITY.
FWIW, the patch looks good to me, so:

Acked-by: Rik van Riel<riel@xxxxxxxxxx>


I'm surprised this ack a bit. Rik, do you have any improvement plan about
streaming io detection logic?
I think the patch have a slightly marginal benefit, it help to<1% scan
ratio case. but it have big regression, it cause streaming io (e.g. backup
operation) makes tons swap.

How? From the description I believe it took 16GB in
a zone before we start scanning anon pages when
reclaiming at DEF_PRIORITY?

Would that casue a problem?

So, I thought we sould do either,
1) drop this one
2) merge to change stream io detection logic improvement at first, and
merge this one at second.

We may need better streaming IO detection, anyway.

I have noticed that while heavy sequential reads are fine,
the virtual machines on my desktop system do a lot of whole
block writes. Presumably, a lot of those writes are to the
same blocks, over and over again.

This causes the blocks to be promoted to the active file
list, which ends up growing the active file list to the
point where things from the working set get evicted.

All for file pages that may only get WRITTEN to by the
guests, because the guests cache their own copy whenever
they need to read them!

I'll have to check the page cache code to see if it
keeps frequently written pages as accessed. We may be
better off evicting frequently written pages, and
keeping our cache space for data that is read...

--
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/