|| ||Con Kolivas <email@example.com>|
|| ||ck kernel mailing list <firstname.lastname@example.org>,
linux kernel mailing list <email@example.com>|
|| ||Sun, 22 Aug 2004 21:17:19 +1000|
Patchset update. These are patches designed to improve system
responsiveness with specific emphasis on the desktop, but configurable
to any workload.
The short time between ck3 and ck4 is for two reasons. First Ingo
discovered a nasty bug affecting X performance and I believe I made a
reasonable breakthrough on the never ending desktop vm swappiness saga.
Web site with faq:
Patches (with split-out also):
Added since 184.108.40.206-ck3:
This readjusts the way memory is evicted by lightly removing cached ram
once the ram is more than 2/3 full, if less than the "mapped watermark"
percent of ram is mapped ram (ie applications). The normal system is to
aggresively start scanning ram once it is completely full. The benefits
of this are:
1. Allocating memory while ram is being lightly scanned is faster and
cheaper than when it is being heavily scanned.
2. There is usually some free ram which tends to speed up application
3. Swapping is an unusual event instead of a common one if you have
enough ram for your workload.
4. It is rare for your applications to be swapped out by file cache
Disadvantage: Less file cache - but can be offset with the tunable
The mapped watermark is configurable so a server for example might be
happy to have a lower mapped percentage. The default is 66 and a server
might like 33 (0 is also fine)
echo 33 > /proc/sys/vm/mapped
This patch removes the swappiness knob entirely and deprecates all my
previous vm hacks (autoregulated swappiness, hard swappiness, kiflush).
A nasty bug Ingo tracked down that caused high latencies and cache
trashing with X.
Backed out a tweak designed to improve behaviour under filesystem load -
I am avoiding all "tweaks" in the design, and it's effectiveness was
Added a tiny check to recalc_task_prio which should make it safe when
the Hz value is set below 500.
Made the 1Gb of lowmem configurable if highmem is disabled.
Deprected in favour of mapped_watermark