Re: [PATCH] mm: Mark idle page tracking as BROKEN
From: Yu Zhao <hidden>
Date: 2021-06-12 03:14:59
On Fri, Jun 11, 2021 at 6:08 PM Matthew Wilcox (Oracle) [off-list ref] wrote:
In discussion with other MM developers around how idle page tracking should be fixed for transparent huge pages, several expressed the opinion that it should be removed as it is inefficient at accomplishing the job that it is supposed to, and we have better mechanisms (eg uffd) for accomplishing the same goals these days. Mark the feature as BROKEN for now and we can remove it entirely in a few months if nobody complains. It is not enabled by Android, ChromeOS, Debian, Fedora or SUSE. Red Hat enabled it with RHEL-8.1 and UEK followed suit, but I have been unable to find why RHEL enabled it. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: Yu Zhao <redacted>
It had been broken on arm64 (corrupting user data) until commit
07509e10dcc7 ("arm64: pgtable: Fix pte_accessible()") came along.
It may also break functions that call pte/pmd_mkold() but not
test_and_clear_young(), e.g., it breaks MADV_FREE because
page_referenced() will return true upon seeing PageYoung(), which in
turn makes the page reclaim reject the madvise()'ed pages.
quoted hunk ↗ jump to hunk
--- mm/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/mm/Kconfig b/mm/Kconfig index 02d44e3420f5..311b50bb92ce 100644 --- a/mm/Kconfig +++ b/mm/Kconfig@@ -772,7 +772,7 @@ config DEFERRED_STRUCT_PAGE_INIT config IDLE_PAGE_TRACKING bool "Enable idle page tracking" - depends on SYSFS && MMU + depends on SYSFS && MMU && BROKEN select PAGE_EXTENSION if !64BIT help This feature allows to estimate the amount of user pages that have --2.30.2