v4 -> v5
- fix redundant kvm config check
v3 -> v4
- backport only core etmem feature
- modify kernel swap enabled toggle implementation
v2 -> v3
- fix code style and commit messages
v1 -> v2
- make independent patches to export symbols we need
- make independent patches for etmem scan and swap config
- fix indentation and code style problems
Yuchen Tang (9):
etmem: add ETMEM feature CONFIG to mm/Kconfig
etmem: add ETMEM scan feature CONFIG to mm/Kconfig
mm: Export symbol __pud_trans_huge_lock
mm: Export symbol walk_page_range
etmem: add etmem scan feature
mm: Export symbol reclaim_pages
etmem: add etmem swap feature
etmem: add original kernel swap enabled options
etmem: enable etmem configurations
arch/arm64/configs/openeuler_defconfig | 3 +
arch/x86/configs/openeuler_defconfig | 3 +
fs/proc/Makefile | 3 +
fs/proc/base.c | 8 +
fs/proc/etmem_proc.c | 216 ++++
fs/proc/etmem_scan.c | 1383 ++++++++++++++++++++++++
fs/proc/etmem_scan.h | 149 +++
fs/proc/etmem_swap.c | 109 ++
fs/proc/internal.h | 4 +
include/linux/etmem.h | 47 +
include/linux/mm.h | 4 +
include/linux/mm_types.h | 4 +
include/linux/swap.h | 1 +
include/uapi/asm-generic/mman-common.h | 4 +
mm/Kconfig | 33 +
mm/Makefile | 1 +
mm/etmem.c | 95 ++
mm/huge_memory.c | 1 +
mm/internal.h | 1 -
mm/madvise.c | 16 +
mm/pagewalk.c | 1 +
mm/swap_state.c | 4 +
mm/vmscan.c | 8 +
virt/kvm/kvm_main.c | 8 +
24 files changed, 2105 insertions(+), 1 deletion(-)
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
--
2.33.0