Re: [RFC][PATCH 0/2] Tunable watermark

From: Rik van Riel
Date: Thu Jan 20 2011 - 19:18:08 EST


On 01/07/2011 05:03 PM, Satoru Moriya wrote:

The result is following.

| default | case 1 | case 2 |
----------------------------------------------------------
wmark_min_kbytes | 5752 | 5752 | 5752 |
wmark_low_kbytes | 7190 | 16384 | 32768 | (KB)
wmark_high_kbytes | 8628 | 20480 | 40960 |
----------------------------------------------------------
real | 503 | 364 | 337 |
user | 3 | 5 | 4 | (msec)
sys | 153 | 149 | 146 |
----------------------------------------------------------
page fault | 32768 | 32768 | 32768 |
kswapd_wakeup | 1809 | 335 | 228 | (times)
direct reclaim | 5 | 0 | 0 |

As you can see, direct reclaim was performed 5 times and
its exec time was 503 msec in the default case. On the other
hand, in case 1 (large delta case ) no direct reclaim was
performed and its exec time was 364 msec.

Saving 1.5 seconds on a one-off workload is probably not
worth the complexity of giving a system administrator
yet another set of tunables to mess with.

However, I suspect it may be a good idea if the kernel
could adjust these watermarks automatically, since direct
reclaim could lead to quite a big performance penalty.

I do not know which events should be used to increase and
decrease the watermarks, but I have some ideas:
- direct reclaim (increase)
- kswapd has trouble freeing pages (increase)
- kswapd frees enough memory at DEF_PRIORITY (decrease)
- next to no direct reclaim events in the last N (1000?)
reclaim events (decrease)

I guess we will also need to be sure that the watermarks
are never raised above some sane upper threshold. Maybe
4x or 5x the default?


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