lkml.org 
[lkml]   [2022]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH V7 0/4] mm/sparse-vmemmap: Generalise helpers and enable for LoongArch
    Date
    This series is in order to enable sparse-vmemmap for LoongArch. But
    LoongArch cannot use generic helpers directly because MIPS&LoongArch
    need to call pgd_init()/pud_init()/pmd_init() when populating page
    tables. So we adjust the prototypes of p?d_init() to make generic
    helpers can call them, then enable sparse-vmemmap with generic helpers,
    and to be further, generalise vmemmap_populate_hugepages() for ARM64,
    X86 and LoongArch.

    V1 -> V2:
    Split ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP to a separate patch.

    V2 -> V3:
    1, Change the Signed-off-by order of author and committer;
    2, Update commit message about the build error on LoongArch.

    V3 -> V4:
    Change pmd to pmdp for ARM64 for consistency.

    V4 -> V5:
    Add a detailed comment for no-fallback in the altmap case.

    V5 -> V6:
    1, Fix build error for NIOS2;
    2, Fix build error for allnoconfig;
    3, Update comment for no-fallback in the altmap case.

    V6 -> V7:
    Fix build warnings of "no previous prototype".

    Huacai Chen and Feiyang Chen(4):
    MIPS&LoongArch&NIOS2: Adjust prototypes of p?d_init().
    LoongArch: Add sparse memory vmemmap support.
    mm/sparse-vmemmap: Generalise vmemmap_populate_hugepages().
    LoongArch: Enable ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP.

    Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
    Signed-off-by: Feiyang Chen <chenfeiyang@loongson.cn>
    ---
    arch/arm64/mm/mmu.c | 53 ++++++--------------
    arch/loongarch/Kconfig | 2 +
    arch/loongarch/include/asm/pgalloc.h | 13 +----
    arch/loongarch/include/asm/pgtable.h | 13 +++--
    arch/loongarch/include/asm/sparsemem.h | 8 +++
    arch/loongarch/kernel/numa.c | 4 +-
    arch/loongarch/mm/init.c | 44 +++++++++++++++-
    arch/loongarch/mm/pgtable.c | 23 +++++----
    arch/mips/include/asm/pgalloc.h | 8 +--
    arch/mips/include/asm/pgtable-64.h | 8 +--
    arch/mips/kvm/mmu.c | 3 +-
    arch/mips/mm/pgtable-32.c | 10 ++--
    arch/mips/mm/pgtable-64.c | 18 ++++---
    arch/mips/mm/pgtable.c | 2 +-
    arch/x86/mm/init_64.c | 92 ++++++++++++----------------------
    include/linux/mm.h | 8 +++
    include/linux/page-flags.h | 1 +
    mm/sparse-vmemmap.c | 64 +++++++++++++++++++++++
    18 files changed, 222 insertions(+), 152 deletions(-)
    --
    2.27.0

    \
     
     \ /
      Last update: 2022-08-02 12:06    [W:2.500 / U:0.432 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site