Re: [PATCH] mm: Mark idle page tracking as BROKEN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 11, 2021 at 6:08 PM Matthew Wilcox (Oracle)
<willy@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>

Acked-by: Yu Zhao <yuzhao@xxxxxxxxxx>

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.

> ---
>  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
>
>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux