Re: Linux 2.2.19pre1

From: Andrea Arcangeli (andrea@suse.de)
Date: Sat Dec 16 2000 - 09:13:03 EST


On Fri, Dec 15, 2000 at 07:51:04PM +0000, Alan Cox wrote:
> o Basic page aging (Neil Schemenauer)
> | This is a beginning to trying to get the VM right

(page aging isn't a matter of correctness of the VM, it's only a matter of
performance basically only during swap [for all other usages lru behaviour is
enough])

About the implementation the swapcache aging is going to be wrong and it could
cause swapcache storms during swap. In 2.2.x we can't implement a kind of
deactivate_page that works on lru, because there's no lru, so all we can do is
to ignore the aging for swap_cache that isn't referenced by anybody (either on
swap or on memory).

Also the implementation is dubios and suboptimal (I'd replace PG_referenced
with page->age instead of mixing the two things, plus page->age is set at
page-freeing time while you want to initialize it only when adding swapcache or
pagecache [this save CPU cycles]).

Even if the patch [after fixing the swapout issue pointed out above] looks safe
I need a bit more time to verify that it doesn't change the balancing of the VM
(the point of aging is to make harder the in-core pages to be freed so it will
somehow increase the swapout factor) and so in the very short term I won't
support the VM-global patch on top of page-aging (to avoid invalidating all the
testing and feedback it had).

For 2.2.19pre2 short term I'd suggest to backout the aging patch and to apply
VM-global against 2.2.18. This will make VM behaviour better regardless
of aging, then if you still feel the need of aging on your 486 8mbyte box
I will try to put your patch on top of VM-global at least after addressing
the swapcache shrinking issue and optimizing it a little bit.

Comments?

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



This archive was generated by hypermail 2b29 : Sat Dec 23 2000 - 21:00:16 EST