summaryrefslogtreecommitdiffstats
path: root/mm/huge_memory.c
diff options
context:
space:
mode:
authorAndrea Arcangeli2011-01-14 00:47:07 +0100
committerLinus Torvalds2011-01-14 02:32:45 +0100
commit13ece886d99cd668483113f7238e419d5331af26 (patch)
tree44a1c65870ba4463316f943f52d898bb3763ab81 /mm/huge_memory.c
parentthp: allocate memory in khugepaged outside of mmap_sem write mode (diff)
downloadkernel-qcow2-linux-13ece886d99cd668483113f7238e419d5331af26.tar.gz
kernel-qcow2-linux-13ece886d99cd668483113f7238e419d5331af26.tar.xz
kernel-qcow2-linux-13ece886d99cd668483113f7238e419d5331af26.zip
thp: transparent hugepage config choice
Allow to choose between the always|madvise default for page faults and khugepaged at config time. madvise guarantees zero risk of higher memory footprint for applications (applications using madvise(MADV_HUGEPAGE) won't risk to use any more memory by backing their virtual regions with hugepages). Initially set the default to N and don't depend on EMBEDDED. Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/huge_memory.c')
-rw-r--r--mm/huge_memory.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index bce6e12140e2..30c3cec82023 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -27,7 +27,12 @@
* allocations.
*/
unsigned long transparent_hugepage_flags __read_mostly =
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS
(1<<TRANSPARENT_HUGEPAGE_FLAG)|
+#endif
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE_MADVISE
+ (1<<TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG)|
+#endif
(1<<TRANSPARENT_HUGEPAGE_DEFRAG_FLAG)|
(1<<TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG);