Kemeng Shi (2): x86: hugepage: use nt copy hugepage to AEP in x86 ugepage: add sysctl for hugepage alloc and mig
Yuchen Tang (6): etmem: add etmem scan feature to openEuler etmem: add etmem swap feature to openEuler mm: introduce and export pgdat peer_node mm: alloc pages from pmem's peer node etmem: add original kernel swap enabled options etmem: add swapcache reclaim to etmem
arch/arm64/configs/openeuler_defconfig | 3 + arch/x86/configs/openeuler_defconfig | 3 + arch/x86/include/asm/page_64.h | 9 + arch/x86/lib/Makefile | 1 + arch/x86/lib/copy_highpages.c | 107 ++ arch/x86/lib/copy_page_64.S | 73 ++ drivers/acpi/numa/srat.c | 7 + drivers/base/node.c | 15 + fs/proc/Makefile | 3 + fs/proc/base.c | 8 + fs/proc/etmem_proc.c | 216 ++++ fs/proc/etmem_scan.c | 1440 ++++++++++++++++++++++++ fs/proc/etmem_scan.h | 149 +++ fs/proc/etmem_swap.c | 283 +++++ fs/proc/internal.h | 4 + include/linux/etmem.h | 105 ++ include/linux/highmem.h | 17 + include/linux/mm.h | 4 + include/linux/mm_types.h | 6 + include/linux/mmzone.h | 14 + include/linux/swap.h | 2 +- include/uapi/asm-generic/mman-common.h | 4 + mm/Kconfig | 33 + mm/Makefile | 1 + mm/etmem.c | 475 ++++++++ mm/hugetlb.c | 9 + mm/madvise.c | 16 + mm/mm_init.c | 4 + mm/pagewalk.c | 3 + mm/sparse-vmemmap.c | 10 + mm/swap_state.c | 4 + mm/util.c | 5 + mm/vmscan.c | 21 + virt/kvm/kvm_main.c | 6 + 34 files changed, 3059 insertions(+), 1 deletion(-) create mode 100644 arch/x86/lib/copy_highpages.c create mode 100644 fs/proc/etmem_proc.c create mode 100644 fs/proc/etmem_scan.c create mode 100644 fs/proc/etmem_scan.h create mode 100644 fs/proc/etmem_swap.c create mode 100644 include/linux/etmem.h create mode 100644 mm/etmem.c