Index: linux-2.6.8-rc4/mm/vmscan.c
===================================================================
--- linux-2.6.8-rc4.orig/mm/vmscan.c	2004-08-10 20:43:51.856343817 +1000
+++ linux-2.6.8-rc4/mm/vmscan.c	2004-08-10 20:55:43.421952201 +1000
@@ -118,7 +118,7 @@
 /*
  * From 0 .. 100.  Higher means more swappy.
  */
-int vm_swappiness = 60;
+int vm_swappiness = 33;
 static long total_memory;
 
 static LIST_HEAD(shrinker_list);
@@ -683,9 +683,9 @@
 
 	/*
 	 * `distress' is a measure of how much trouble we're having reclaiming
-	 * pages.  0 -> no problems.  100 -> great trouble.
+	 * pages.  Trouble is if zone->prev_priority == 0;
 	 */
-	distress = 100 >> zone->prev_priority;
+	distress = 100 * !(zone->prev_priority);
 
 	/*
 	 * The point of this algorithm is to decide when to start reclaiming
@@ -703,7 +703,7 @@
 	 *
 	 * A 100% value of vm_swappiness overrides this algorithm altogether.
 	 */
-	swap_tendency = mapped_ratio / 2 + distress + vm_swappiness;
+	swap_tendency = mapped_ratio + distress + vm_swappiness;
 
 	/*
 	 * Now use this metric to decide whether to start moving mapped memory
