Re: [PATCH] mm: fix KPF_SWAPCACHE

From: Nicholas Piggin
Date: Wed Feb 08 2017 - 23:20:59 EST


On Tue, 7 Feb 2017 11:11:16 -0800 (PST)
Hugh Dickins <hughd@xxxxxxxxxx> wrote:

> 4.10-rc1 commit 6326fec1122c ("mm: Use owner_priv bit for PageSwapCache,
> valid when PageSwapBacked") aliased PG_swapcache to PG_owner_priv_1:
> so /proc/kpageflags' KPF_SWAPCACHE should now be synthesized, instead
> of being shown on unrelated pages which have PG_owner_priv_1 set.
>
> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>

Thanks Hugh, this seems fine to me. We want this for 4.10, no?

Fixes: 6326fec1122c ("mm: Use owner_priv bit for PageSwapCache, valid when PageSwapBacked")
Reviewed-by: Nicholas Piggin <npiggin@xxxxxxxxx>

> ---
>
> fs/proc/page.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> --- 4.10-rc7/fs/proc/page.c 2016-12-25 18:40:50.618454962 -0800
> +++ linux/fs/proc/page.c 2017-02-07 10:28:51.019640392 -0800
> @@ -173,7 +173,8 @@ u64 stable_page_flags(struct page *page)
> u |= kpf_copy_bit(k, KPF_ACTIVE, PG_active);
> u |= kpf_copy_bit(k, KPF_RECLAIM, PG_reclaim);
>
> - u |= kpf_copy_bit(k, KPF_SWAPCACHE, PG_swapcache);
> + if (PageSwapCache(page))
> + u |= 1 << KPF_SWAPCACHE;
> u |= kpf_copy_bit(k, KPF_SWAPBACKED, PG_swapbacked);
>
> u |= kpf_copy_bit(k, KPF_UNEVICTABLE, PG_unevictable);