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 <hu...@google.com>
---

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

Reply via email to