[PATCH 2/4] mm: hugetlb: allow hugepages_supported to be architecture specific

Luis Henriques luis.henriques at canonical.com
Tue Jul 5 14:44:29 UTC 2016

From: Dominik Dingel <dingel at linux.vnet.ibm.com>

commit 2531c8cf56a640cd7d17057df8484e570716a450 upstream.

s390 has a constant hugepage size, by setting HPAGE_SHIFT we also change
e.g. the pageblock_order, which should be independent in respect to
hugepage support.

With this patch every architecture is free to define how to check
for hugepage support.

Signed-off-by: Dominik Dingel <dingel at linux.vnet.ibm.com>
Acked-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
Cc: Christian Borntraeger <borntraeger at de.ibm.com>
Cc: Michael Holzheu <holzheu at linux.vnet.ibm.com>
Cc: Gerald Schaefer <gerald.schaefer at de.ibm.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
BugLink: https://bugs.launchpad.net/bugs/1571020
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
 include/linux/hugetlb.h | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index c5e40ff916ad..533471d8b43b 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -344,15 +344,14 @@ static inline pgoff_t basepage_index(struct page *page)
 	return __basepage_index(page);
-static inline bool hugepages_supported(void)
-	/*
-	 * Some platform decide whether they support huge pages at boot
-	 * time. On these, such as powerpc, HPAGE_SHIFT is set to 0 when
-	 * there is no such support
-	 */
-	return HPAGE_SHIFT != 0;
+#ifndef hugepages_supported
+ * Some platform decide whether they support huge pages at boot
+ * time. Some of them, such as powerpc, set HPAGE_SHIFT to 0
+ * when there is no such support
+ */
+#define hugepages_supported() (HPAGE_SHIFT != 0)
 struct hstate {};

More information about the kernel-team mailing list