Re: 2.6.0-test9 - poor swap performance on low end machines

Andrea Arcangeli
2003-12-15T23:36:57Z

On Mon, Dec 15, 2003 at 03:31:22PM -0800, Andrew Morton wrote:
> Single-threaded qsbench is OK on 2.6. Last time I looked it was a little
> quicker than 2.4. It's when you go to multiple qsbench instances that
> everything goes to crap.
>
> It's interesting to watch the `top' output during the run. In 2.4 you see
> three qsbench instances have consumed 0.1 seconds CPU and the fourth has
> consumed 45 seconds and then exits.
>
> In 2.6 all four processes consume CPU at the same rate. Really, really
> slowly.

sounds good, so this seems only a fariness issue. 2.6 is more fair but
fariness in this case means much inferior performance.

The reason 2.4 runs faster could be a more aggressive "young" pagetable
heuristic via the swap_out clock algorithm. as soon as one program grows
a bit its rss, it will run for longer, and the longer it runs the more
pages it marks "young" during a clock scan, and the more pages it marks
young the bigger it will grow. This keeps going until it's the by far
biggest task and takes almost all available cpu. This is optimal for
performance, but not optimal for fariness. So 2.6 may be better or worse
depending if fariness payoffs or not, obviously in qsbench it doesn't
since it's not even measured.