Add a new kconfig option VMACACHE_SHIFT (as a power of 2) to specify the number of slots vma cache has for each thread. Range is chosen 0-4 (1-16 slots) to consider both overhead and performance penalty. Default is 2 (4 slots) as it originally is, which provides good enough balance. Signed-off-by: WANG Chao <chaowang@xxxxxxxxxx> --- include/linux/sched.h | 2 +- mm/Kconfig | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index 8db31ef..56fd96d 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -134,7 +134,7 @@ struct perf_event_context; struct blk_plug; struct filename; -#define VMACACHE_BITS 2 +#define VMACACHE_BITS CONFIG_VMACACHE_SHIFT #define VMACACHE_SIZE (1U << VMACACHE_BITS) #define VMACACHE_MASK (VMACACHE_SIZE - 1) diff --git a/mm/Kconfig b/mm/Kconfig index 1d1ae6b..7b82a52 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -618,3 +618,10 @@ config MAX_STACK_SIZE_MB changed to a smaller value in which case that is used. A sane initial value is 80 MB. + +config VMACACHE_SHIFT + int "Number of slots in per-thread VMA cache (as a power of 2)" + range 0 4 + default 2 + help + This is the number of slots VMA cache has for each thread. -- 2.1.0 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>