[RFC PATCH] Add Kconfig option for default swappiness

From: Ben Gamari
Date: Sun Oct 31 2010 - 14:09:12 EST


This will allow distributions to tune this important vm parameter in a more
self-contained manner.

Signed-off-by: Ben Gamari <bgamari.foss@xxxxxxxxx>
---
Documentation/sysctl/vm.txt | 2 +-
mm/Kconfig | 11 +++++++++++
mm/vmscan.c | 2 +-
3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index 6c7d18c..792823b 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -614,7 +614,7 @@ This control is used to define how aggressive the kernel will swap
memory pages. Higher values will increase agressiveness, lower values
decrease the amount of swap.

-The default value is 60.
+The default value is 60 (changed with CONFIG_DEFAULT_SWAPINESS).

==============================================================

diff --git a/mm/Kconfig b/mm/Kconfig
index 9c61158..729ecec 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -61,6 +61,17 @@ config SPARSEMEM_MANUAL

endchoice

+config DEFAULT_SWAPPINESS
+ int "Default swappiness"
+ default "60"
+ range 0 100
+ help
+ This control is used to define how aggressive the kernel will swap
+ memory pages. Higher values will increase agressiveness, lower
+ values decrease the amount of swap. Valid values range from 0 to 100.
+
+ If unsure, keep default value of 60.
+
config DISCONTIGMEM
def_bool y
depends on (!SELECT_MEMORY_MODEL && ARCH_DISCONTIGMEM_ENABLE) || DISCONTIGMEM_MANUAL
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 3ff3311..342975f 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -126,7 +126,7 @@ struct scan_control {
/*
* From 0 .. 100. Higher means more swappy.
*/
-int vm_swappiness = 60;
+int vm_swappiness = CONFIG_DEFAULT_SWAPPINESS;
long vm_total_pages; /* The total number of pages which the VM controls */

static LIST_HEAD(shrinker_list);
--
1.7.1

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