proc support for zone reclaim This patch creates a proc entry /proc/sys/vm/zone_reclaim_mode that may be used to override the automatic determination of the zone reclaim made on bootup. Signed-off-by: Christoph Lameter Index: linux-2.6.15/kernel/sysctl.c =================================================================== --- linux-2.6.15.orig/kernel/sysctl.c 2006-01-10 09:43:04.000000000 -0800 +++ linux-2.6.15/kernel/sysctl.c 2006-01-10 09:44:33.000000000 -0800 @@ -869,6 +869,17 @@ static ctl_table vm_table[] = { .strategy = &sysctl_jiffies, }, #endif +#ifdef CONFIG_NUMA + { + .ctl_name = VM_ZONE_RECLAIM_MODE, + .procname = "zone_reclaim_mode", + .data = &zone_reclaim_mode, + .maxlen = sizeof(zone_reclaim_mode), + .mode = 0644, + .proc_handler = &proc_dointvec, + .strategy = &zero, + }, +#endif { .ctl_name = 0 } }; Index: linux-2.6.15/include/linux/sysctl.h =================================================================== --- linux-2.6.15.orig/include/linux/sysctl.h 2006-01-10 09:43:04.000000000 -0800 +++ linux-2.6.15/include/linux/sysctl.h 2006-01-10 09:45:20.000000000 -0800 @@ -182,6 +182,7 @@ enum VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */ VM_DROP_PAGECACHE=29, /* int: nuke lots of pagecache */ VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */ + VM_ZONE_RECLAIM_MODE=31,/* reclaim local zone memory before going off node */ }; Index: linux-2.6.15/Documentation/sysctl/vm.txt =================================================================== --- linux-2.6.15.orig/Documentation/sysctl/vm.txt 2006-01-10 09:43:02.000000000 -0800 +++ linux-2.6.15/Documentation/sysctl/vm.txt 2006-01-10 09:47:07.000000000 -0800 @@ -27,6 +27,7 @@ Currently, these files are in /proc/sys/ - laptop_mode - block_dump - drop-caches +- zone_reclaim_mode ============================================================== @@ -120,3 +121,20 @@ set to pcp->high/4. The upper limit of The initial value is zero. Kernel does not use this value at boot time to set the high water marks for each per cpu page list. + +=============================================================== + +zone_reclaim_mode: + +This is set during bootup to 1 if it is determined that pages from +remote zones will cause a significant performance reduction. The +page allocator will then reclaim easily reusable pages (those page +cache pages that are currently not used) before going off node. + +The user can override this setting. It may be beneficial to switch +off zone reclaim if the system is used for a file server and all +of memory should be used for caching files from disk. + +It may be beneficial to switch this on if one wants to do zone +reclaim regardless of the numa distances in the system. +