Thread (13 messages) 13 messages, 7 authors, 2021-06-18

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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help