lkml.org 
[lkml]   [2019]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 3/4] mm: Simplify MEMORY_ISOLATION && COMPACTION || CMA into CONTIG_ALLOC
    Date
    This condition allows to define alloc_contig_range, so simplify
    it into a more accurate naming.

    Suggested-by: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: Alexandre Ghiti <alex@ghiti.fr>
    ---
    arch/arm64/Kconfig | 2 +-
    arch/powerpc/platforms/Kconfig.cputype | 2 +-
    arch/s390/Kconfig | 2 +-
    arch/sh/Kconfig | 2 +-
    arch/sparc/Kconfig | 2 +-
    arch/x86/Kconfig | 2 +-
    arch/x86/mm/hugetlbpage.c | 2 +-
    include/linux/gfp.h | 2 +-
    mm/Kconfig | 3 +++
    mm/page_alloc.c | 3 +--
    10 files changed, 12 insertions(+), 10 deletions(-)

    diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
    index a4168d366127..091a513b93e9 100644
    --- a/arch/arm64/Kconfig
    +++ b/arch/arm64/Kconfig
    @@ -18,7 +18,7 @@ config ARM64
    select ARCH_HAS_FAST_MULTIPLIER
    select ARCH_HAS_FORTIFY_SOURCE
    select ARCH_HAS_GCOV_PROFILE_ALL
    - select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
    + select ARCH_HAS_GIGANTIC_PAGE if CONTIG_ALLOC
    select ARCH_HAS_KCOV
    select ARCH_HAS_MEMBARRIER_SYNC_CORE
    select ARCH_HAS_PTE_SPECIAL
    diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
    index 8c7464c3f27f..f677c8974212 100644
    --- a/arch/powerpc/platforms/Kconfig.cputype
    +++ b/arch/powerpc/platforms/Kconfig.cputype
    @@ -319,7 +319,7 @@ config ARCH_ENABLE_SPLIT_PMD_PTLOCK
    config PPC_RADIX_MMU
    bool "Radix MMU Support"
    depends on PPC_BOOK3S_64
    - select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
    + select ARCH_HAS_GIGANTIC_PAGE if CONTIG_ALLOC
    default y
    help
    Enable support for the Power ISA 3.0 Radix style MMU. Currently this
    diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
    index ed554b09eb3f..1c57b83c76f5 100644
    --- a/arch/s390/Kconfig
    +++ b/arch/s390/Kconfig
    @@ -69,7 +69,7 @@ config S390
    select ARCH_HAS_ELF_RANDOMIZE
    select ARCH_HAS_FORTIFY_SOURCE
    select ARCH_HAS_GCOV_PROFILE_ALL
    - select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
    + select ARCH_HAS_GIGANTIC_PAGE if CONTIG_ALLOC
    select ARCH_HAS_KCOV
    select ARCH_HAS_PTE_SPECIAL
    select ARCH_HAS_SET_MEMORY
    diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
    index 299a17bed67c..c7266302691c 100644
    --- a/arch/sh/Kconfig
    +++ b/arch/sh/Kconfig
    @@ -53,7 +53,7 @@ config SUPERH
    select HAVE_FUTEX_CMPXCHG if FUTEX
    select HAVE_NMI
    select NEED_SG_DMA_LENGTH
    - select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
    + select ARCH_HAS_GIGANTIC_PAGE if CONTIG_ALLOC

    help
    The SuperH is a RISC processor targeted for use in embedded systems
    diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
    index 0b7f0e0fefa5..ca33c80870e2 100644
    --- a/arch/sparc/Kconfig
    +++ b/arch/sparc/Kconfig
    @@ -90,7 +90,7 @@ config SPARC64
    select ARCH_CLOCKSOURCE_DATA
    select ARCH_HAS_PTE_SPECIAL
    select PCI_DOMAINS if PCI
    - select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
    + select ARCH_HAS_GIGANTIC_PAGE if CONTIG_ALLOC

    config ARCH_DEFCONFIG
    string
    diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
    index 68261430fe6e..8ba90f3e0038 100644
    --- a/arch/x86/Kconfig
    +++ b/arch/x86/Kconfig
    @@ -23,7 +23,7 @@ config X86_64
    def_bool y
    depends on 64BIT
    # Options that are inherently 64-bit kernel only:
    - select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
    + select ARCH_HAS_GIGANTIC_PAGE if CONTIG_ALLOC
    select ARCH_SUPPORTS_INT128
    select ARCH_USE_CMPXCHG_LOCKREF
    select HAVE_ARCH_SOFT_DIRTY
    diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c
    index 92e4c4b85bba..fab095362c50 100644
    --- a/arch/x86/mm/hugetlbpage.c
    +++ b/arch/x86/mm/hugetlbpage.c
    @@ -203,7 +203,7 @@ static __init int setup_hugepagesz(char *opt)
    }
    __setup("hugepagesz=", setup_hugepagesz);

    -#if (defined(CONFIG_MEMORY_ISOLATION) && defined(CONFIG_COMPACTION)) || defined(CONFIG_CMA)
    +#ifdef CONFIG_CONTIG_ALLOC
    static __init int gigantic_pages_init(void)
    {
    /* With compaction or CMA we can allocate gigantic pages at runtime */
    diff --git a/include/linux/gfp.h b/include/linux/gfp.h
    index 5f5e25fd6149..1f1ad9aeebb9 100644
    --- a/include/linux/gfp.h
    +++ b/include/linux/gfp.h
    @@ -585,7 +585,7 @@ static inline bool pm_suspended_storage(void)
    }
    #endif /* CONFIG_PM_SLEEP */

    -#if (defined(CONFIG_MEMORY_ISOLATION) && defined(CONFIG_COMPACTION)) || defined(CONFIG_CMA)
    +#ifdef CONFIG_CONTIG_ALLOC
    /* The below functions must be run on a range from a single zone. */
    extern int alloc_contig_range(unsigned long start, unsigned long end,
    unsigned migratetype, gfp_t gfp_mask);
    diff --git a/mm/Kconfig b/mm/Kconfig
    index 25c71eb8a7db..137eadc18732 100644
    --- a/mm/Kconfig
    +++ b/mm/Kconfig
    @@ -258,6 +258,9 @@ config ARCH_ENABLE_HUGEPAGE_MIGRATION
    config ARCH_ENABLE_THP_MIGRATION
    bool

    +config CONTIG_ALLOC
    + def_bool (MEMORY_ISOLATION && COMPACTION) || CMA
    +
    config PHYS_ADDR_T_64BIT
    def_bool 64BIT

    diff --git a/mm/page_alloc.c b/mm/page_alloc.c
    index 35fdde041f5c..ac9c45ffb344 100644
    --- a/mm/page_alloc.c
    +++ b/mm/page_alloc.c
    @@ -8024,8 +8024,7 @@ bool has_unmovable_pages(struct zone *zone, struct page *page, int count,
    return true;
    }

    -#if (defined(CONFIG_MEMORY_ISOLATION) && defined(CONFIG_COMPACTION)) || defined(CONFIG_CMA)
    -
    +#ifdef CONFIG_CONTIG_ALLOC
    static unsigned long pfn_max_align_down(unsigned long pfn)
    {
    return pfn & ~(max_t(unsigned long, MAX_ORDER_NR_PAGES,
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-03-06 20:04    [W:4.363 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site