[RFC PATCH 2/7] mm: introduce CONFIG_FREE_USER_PTE

From: Qi Zheng
Date: Thu Aug 25 2022 - 06:11:55 EST


This configuration variable will be used to build the code needed to
free user PTE page table pages.

The PTE page table setting and clearing functions(such as set_pte_at())
are in the architecture's files, and these functions will be hooked to
implement FREE_USER_PTE, so the architecture support is needed.

Signed-off-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
---
mm/Kconfig | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/mm/Kconfig b/mm/Kconfig
index 169e64192e48..d2a5a24cee2d 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -1130,6 +1130,17 @@ config PTE_MARKER_UFFD_WP
purposes. It is required to enable userfaultfd write protection on
file-backed memory types like shmem and hugetlbfs.

+config ARCH_SUPPORTS_FREE_USER_PTE
+ def_bool n
+
+config FREE_USER_PTE
+ bool "Free user PTE page table pages"
+ default y
+ depends on ARCH_SUPPORTS_FREE_USER_PTE && MMU && SMP
+ help
+ Try to free user PTE page table page when its all entries are none or
+ mapped shared zero page.
+
source "mm/damon/Kconfig"

endmenu
--
2.20.1