diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig index 8f9106fc88de4f9846a9d4f268f1db23e90c4d8d..33a2aaba717e332e6429ba27ca292a653b23300d 100644 --- a/arch/arm64/configs/openeuler_defconfig +++ b/arch/arm64/configs/openeuler_defconfig @@ -7098,5 +7098,5 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y CONFIG_MPAM=y CONFIG_RESCTRL=y CONFIG_ACPI_MPAM=y -CONFIG_MEMIG_SCAN_MODULE=m -CONFIG_MEMIG_SWAP_MODULE=m +CONFIG_MEMIG_SCAN=m +CONFIG_MEMIG_SWAP=m diff --git a/arch/x86/configs/openeuler_defconfig b/arch/x86/configs/openeuler_defconfig index 33f91d1489064f188886f6a1540fc6f43bd93f88..ca3fb8a71f4a928aa3f80286869fe166f4031d34 100644 --- a/arch/x86/configs/openeuler_defconfig +++ b/arch/x86/configs/openeuler_defconfig @@ -8489,5 +8489,5 @@ CONFIG_ARCH_HAS_KCOV=y # CONFIG_HYPERV_TESTING is not set # end of Kernel Testing and Coverage # end of Kernel hacking -CONFIG_MEMIG_SCAN_MODULE=m -CONFIG_MEMIG_SWAP_MODULE=m +CONFIG_MEMIG_SCAN=m +CONFIG_MEMIG_SWAP=m diff --git a/fs/proc/Makefile b/fs/proc/Makefile index e6747114a75b5182945e6f914b4b01870d6ecb7b..1da3ddf423c024e9f696f40b701e831bab2b4a77 100644 --- a/fs/proc/Makefile +++ b/fs/proc/Makefile @@ -34,5 +34,5 @@ proc-$(CONFIG_PROC_VMCORE) += vmcore.o proc-$(CONFIG_PRINTK) += kmsg.o proc-$(CONFIG_PROC_PAGE_MONITOR) += page.o proc-$(CONFIG_BOOT_CONFIG) += bootconfig.o -obj-$(CONFIG_MEMIG_SCAN_MODULE) += memig_scan.o -obj-$(CONFIG_MEMIG_SWAP_MODULE) += memig_swap.o +obj-$(CONFIG_MEMIG_SCAN) += memig_scan.o +obj-$(CONFIG_MEMIG_SWAP) += memig_swap.o diff --git a/lib/Kconfig b/lib/Kconfig index 87bec73787dce6f4afc9bdaa4367bef2c702d047..bf2f8e546f4fc211ae4dc72e0df997d11f1512a7 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -660,13 +660,13 @@ config PARMAN config OBJAGG tristate "objagg" if COMPILE_TEST -config MEMIG_SCAN_MODULE +config MEMIG_SCAN tristate "module: memig page scan for memig support" help memig page scan feature used to scan the virtual address of the target process -config MEMIG_SWAP_MODULE +config MEMIG_SWAP tristate "module: memig page swap for memig support" help memig page swap feature diff --git a/mm/vmscan.c b/mm/vmscan.c index e77ad460223eb635cee661d6e608eb67c63a2aa1..7760d50e6a9f81ecc0fba3cb886b0f06d4fe912e 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -4352,7 +4352,7 @@ struct page *get_page_from_vaddr(struct mm_struct *mm, unsigned long vaddr) down_read(&mm->mmap_lock); vma = find_vma(mm, vaddr); - if (!vma || vaddr < vma->vm_start || !vma_migratable(vma)) { + if (!vma || vaddr < vma->vm_start || vma->vm_flags & VM_LOCKED) { up_read(&mm->mmap_lock); return NULL; }