Re: [PATCH for v4.9 LTS 025/111] mm: fix KPF_SWAPCACHE in /proc/kpageflags

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

 



On Sun, 4 Jun 2017, Levin, Alexander (Sasha Levin) wrote:

> From: Hugh Dickins <hughd@xxxxxxxxxx>
> 
> [ Upstream commit b6789123bccba8b5feb9901ed2e8c3c39181979d ]
> 
> Commit 6326fec1122c ("mm: Use owner_priv bit for PageSwapCache, valid
> when PageSwapBacked") aliased PG_swapcache to PG_owner_priv_1 (and
> depending on PageSwapBacked being true).
> 
> As a result, the KPF_SWAPCACHE bit in '/proc/kpageflags' should now be
> synthesized, instead of being shown on unrelated pages which just happen
> to have PG_owner_priv_1 set.

I think this does not belong in v4.9 LTS - though it would only be
puzzling, not harmful there.  It's a fix to an earlier v4.10 commit,
and I wouldn't expect that earlier v4.10 commit to be added to v4.9 LTS
(but perhaps my expectation is wrong - I'm not in stable@xxxxxxxxxxxxxxx,
so wouldn't see all 111 of these mails).

Hugh

> 
> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Nicholas Piggin <npiggin@xxxxxxxxx>
> Cc: Wu Fengguang <fengguang.wu@xxxxxxxxx>
> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>
> ---
>  fs/proc/page.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/proc/page.c b/fs/proc/page.c
> index 3ecd445e830d..8ffd43709634 100644
> --- a/fs/proc/page.c
> +++ b/fs/proc/page.c
> @@ -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);
> -- 
> 2.11.0
> 



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]