public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* vmscan.c heuristic adjustment for smaller systems
@ 2004-04-17 19:38 William Lee Irwin III
  2004-04-17 21:29 ` Marc Singer
  0 siblings, 1 reply; 27+ messages in thread
From: William Lee Irwin III @ 2004-04-17 19:38 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, elf

Marc Singer reported an issue where an embedded ARM system performed
poorly due to page replacement potentially prematurely replacing
mapped memory where there was very little mapped pagecache in use to
begin with.

The following patch attempts to address the issue by using the
_maximum_ of vm_swappiness and distress to add to the mapped ratio, so
that distress doesn't contribute to swap_tendency until it exceeds
vm_swappiness, and afterward the effect is not cumulative.

The intended effect is that swap_tendency should vary in a more jagged
way, and not be elevated by distress beyond vm_swappiness until distress
exceeds vm_swappiness. For instance, since distress is 100 >>
zone->prev_priority, no distinction is made between a vm_swappiness of
50 or a vm_swappiness of 90 given the same mapped_ratio.

Marc Singer has results where this is an improvement, and hopefully can
clarify as-needed. Help determining whether this policy change is an
improvement for a broader variety of systems would be appreciated.


-- wli


Index: singer-2.6.5-mm6/mm/vmscan.c
===================================================================
--- singer-2.6.5-mm6.orig/mm/vmscan.c	2004-04-14 23:21:19.000000000 -0700
+++ singer-2.6.5-mm6/mm/vmscan.c	2004-04-17 11:09:35.000000000 -0700
@@ -636,7 +636,7 @@
 	 *
 	 * A 100% value of vm_swappiness overrides this algorithm altogether.
 	 */
-	swap_tendency = mapped_ratio / 2 + distress + vm_swappiness;
+	swap_tendency = mapped_ratio / 2 + max(distress, vm_swappiness);
 
 	/*
 	 * Now use this metric to decide whether to start moving mapped memory

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2004-04-19  0:39 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-17 19:38 vmscan.c heuristic adjustment for smaller systems William Lee Irwin III
2004-04-17 21:29 ` Marc Singer
2004-04-17 21:33   ` William Lee Irwin III
2004-04-17 21:52     ` Marc Singer
2004-04-18  1:06       ` William Lee Irwin III
2004-04-18  5:05         ` Marc Singer
2004-04-17 23:21   ` Andrew Morton
2004-04-17 23:30     ` Marc Singer
2004-04-17 23:51       ` Andrew Morton
2004-04-18  0:11         ` Trond Myklebust
2004-04-18  0:23         ` Marc Singer
2004-04-18  3:37           ` Nick Piggin
2004-04-18  4:17             ` William Lee Irwin III
2004-04-18  4:41               ` Nick Piggin
2004-04-18  5:10                 ` Marc Singer
2004-04-18  5:19                   ` Nick Piggin
2004-04-18  5:35                     ` Marc Singer
2004-04-18  5:41                       ` Nick Piggin
2004-04-18 23:44                         ` Marc Singer
2004-04-18  9:29           ` Russell King
2004-04-18  1:59         ` William Lee Irwin III
2004-04-18  3:53           ` Andrew Morton
2004-04-18  5:38             ` Marc Singer
2004-04-18  5:52               ` Andrew Morton
2004-04-18  6:15                 ` Marc Singer
2004-04-19  0:26                   ` Rik van Riel
2004-04-19  0:39                     ` Marc Singer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox