mm/hugetlb: introduce ARCH_HAS_GIGANTIC_PAGE
authorYisheng Xie <[email protected]>
Sat, 8 Oct 2016 00:01:46 +0000 (17:01 -0700)
committerLinus Torvalds <[email protected]>
Sat, 8 Oct 2016 01:46:29 +0000 (18:46 -0700)
Avoid making ifdef get pretty unwieldy if many ARCHs support gigantic
page.  No functional change with this patch.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Yisheng Xie <[email protected]>
Suggested-by: Michal Hocko <[email protected]>
Acked-by: Michal Hocko <[email protected]>
Acked-by: Naoya Horiguchi <[email protected]>
Acked-by: Hillf Danton <[email protected]>
Cc: Hanjun Guo <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: Sudeep Holla <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: Mike Kravetz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
arch/s390/Kconfig
arch/x86/Kconfig
fs/Kconfig
mm/hugetlb.c

index deeadfa291ba5142f98e039b11ebfd1a2f59b712..fb538031569ac46acbcc89d0429e8c93ebcfb82c 100644 (file)
@@ -71,6 +71,7 @@ config S390
        select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_GCOV_PROFILE_ALL
+       select ARCH_HAS_GIGANTIC_PAGE
        select ARCH_HAS_KCOV
        select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_UBSAN_SANITIZE_ALL
index 58bec8f9641a91c56d003df24d303d1a2c4e5ef4..827273c56ae9e631fd752824cb89c3fb91c9a757 100644 (file)
@@ -28,6 +28,7 @@ config X86
        select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_FAST_MULTIPLIER
        select ARCH_HAS_GCOV_PROFILE_ALL
+       select ARCH_HAS_GIGANTIC_PAGE           if X86_64
        select ARCH_HAS_KCOV                    if X86_64
        select ARCH_HAS_PMEM_API                if X86_64
        select ARCH_HAS_MMIO_FLUSH
index 3ef62bad8f2b3c5f9fe91de3d3184262b146ae4a..4bd03a2b05181738ec13a098276d72eec2faa658 100644 (file)
@@ -200,6 +200,9 @@ config HUGETLBFS
 config HUGETLB_PAGE
        def_bool HUGETLBFS
 
+config ARCH_HAS_GIGANTIC_PAGE
+       bool
+
 source "fs/configfs/Kconfig"
 source "fs/efivarfs/Kconfig"
 
index 770d83eb3f488216fe055b777aa03398d7dbe332..e4a4500758f23efba55deb31ec38fd3c9cda8b0c 100644 (file)
@@ -1022,7 +1022,7 @@ static int hstate_next_node_to_free(struct hstate *h, nodemask_t *nodes_allowed)
                ((node = hstate_next_node_to_free(hs, mask)) || 1);     \
                nr_nodes--)
 
-#if (defined(CONFIG_X86_64) || defined(CONFIG_S390)) && \
+#if defined(CONFIG_ARCH_HAS_GIGANTIC_PAGE) && \
        ((defined(CONFIG_MEMORY_ISOLATION) && defined(CONFIG_COMPACTION)) || \
        defined(CONFIG_CMA))
 static void destroy_compound_gigantic_page(struct page *page,