PR sync from: liubo liubo254@huawei.com
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/H7DA37L5LHWC2C635UX57CNRIXAAXZBN/
This patch set is used to backport etmem feature patches to
version 23.09.

etmem is a tiered memory extension technology that uses
DRAM+memory compression/high-performance storage media to
form tiered memory storage.

Memory data is tiered, and cold data is migrated from memory
media to high-performance storage media to release
memory space and reduce memory costs.

v4 -> v5

v3 -> v4

  • fix the commit message format error

v2 -> v3

  • fix the build problem in riscv64 arch.

v1 -> v2

  • some cleanup fix

Kemeng Shi (11):
etmem: add ioctl for mm idle scan
etmem: x86: support scan hugetlb of vm
etmem_scan: x86: support scan 4 level ept under 5 level host page
table
etmem scan: fix memleak in vm_idle_read
etmem: fix concurrent access to export file operations
etmem: fix potential UAF when walk ept page table
etmem_scan: release CPU after scan walk_step size
etmem_scan: add pte_hole callback
acpi/numa: memorize node type from SRAT table
hugepage: add sysctl for hugepage alloc and mig
x86: hugepage: use nt copy hugepage to AEP in x86

liubo (14):
memig: add memig-scan feature to openEuler
memig: add memig-swap feature to openEuler
memig: fix compile error when CONFIG_NUMA is turned off
etmem: Modify the memig feature name to etmem
move ETMEM feature CONFIG to mm/Kconfig and add architecture
dependency
etmem: etmem scan module Replace WARN_ONCE() with debug_printk for
"nothing read"
add ETMEM feature CONFIG to mm/Kconfig
config: enable CONFIG_ETMEM by default
etmem: add CONFIG_ETMEM macro definition for etmem feature
etmem: add original kernel swap enabled options
etmem: add swapcache reclaim to etmem
etmem: Add a scan flag to support specified page swap-out
etmem: fix the div 0 problem in swapcache reclaim process
etmem: fix some problem during backport etmem patches

--
2.27.0

#I7RO5Q:【openEuler 23.09】在6.4内核上适配etmem 内存扩展特性补丁