Re: [PATCH 00/34] mm: Page Replacement Policy Framework

From: Andrew Morton
Date: Wed Mar 22 2006 - 17:52:34 EST


Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:
>
>
> This patch-set introduces a page replacement policy framework and 4 new
> experimental policies.

Holy cow.

> The page replacement algorithm determines which pages to swap out.
> The current algorithm has some problems that are increasingly noticable, even
> on desktop workloads.

Rather than replacing the whole lot four times I'd really prefer to see
precise descriptions of these problems, see if we can improve the situation
incrementally rather than wholesale slash-n-burn...

Once we've done that work to the best of our ability, *then* we're in a
position to evaluate the performance benefits of this new work. Because
there's not much point in comparing known-to-have-unaddressed-problems old
code with fancy new code.

> Measurements:
>
> (Walltime, so lower is better)
>
> cyclic-anon ; Cyclic access pattern with anonymous memory.
> (http://programming.kicks-ass.net/benchmarks/cyclic-anon.c)
>
> 2.6.16-rc6 14:28
> 2.6.16-rc6-useonce 15:11
> 2.6.16-rc6-clockpro 10:51
> 2.6.16-rc6-cart 8:55
> 2.6.16-rc6-random 1:09:50
>
> cyclic-file ; Cyclic access pattern with file backed memory.
> (http://programming.kicks-ass.net/benchmarks/cyclic-file.c)
>
> 2.6.16-rc6 11:24
> 2.6.16-rc6-clockpro 8:14
> 2.6.16-rc6-cart 8:09
>
> webtrace ; Replay of an IO trace from the Umass trace repository
> (http://programming.kicks-ass.net/benchmarks/spc/)
>
> 2.6.16-rc6 8:27
> 2.6.16-rc6-useonce 8:24
> 2.6.16-rc6-clockpro 10:23
> 2.6.16-rc6-cart 15:30
> 2.6.16-rc6-random 15:52
>
> mdb-bench ; Low frequency benchmark.
> (http://linux-mm.org/PageReplacementTesting)
>
> 2.6.16-rc6 4:20:44
> 2.6.16-rc6 (mlock) 3:52:15
> 2.6.16-rc6-useonce 4:20:59
> 2.6.16-rc6-clockpro 3:56:17
> 2.6.16-rc6-cart 4:11:54
> 2.6.16-rc6-random 5:21:30

2.6.16-rc6 seems to do OK. I assume the cyclic patterns exploit the lru
worst case thing? Has consideration been given to tweaking the existing
code, detect the situation and work avoid the problem?
-
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/