Re: [PATCH] mm/zsmalloc.c: fix the migrated zspage statistics.

From: Vlastimil Babka
Date: Fri Nov 29 2019 - 10:17:38 EST


On 11/29/19 2:29 AM, Chanho Min wrote:
> When zspage is migrated to the other zone, the zone page state should
> be updated as well.

What are the user visible effects? I assume NR_ZSPAGES accounting can go
wrong otherwise? Has it been observed in practice?
Should we Cc stable and identify a Fixes: commit?

Thanks,
Vlastimil

> Signed-off-by: Chanho Min <chanho.min@xxxxxxx>
> Signed-off-by: Jinsuk Choi <jjinsuk.choi@xxxxxxx>
> ---
> mm/zsmalloc.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
> index 2b2b9aa..22d17ec 100644
> --- a/mm/zsmalloc.c
> +++ b/mm/zsmalloc.c
> @@ -2069,6 +2069,11 @@ static int zs_page_migrate(struct address_space *mapping, struct page *newpage,
> zs_pool_dec_isolated(pool);
> }
>
> + if (page_zone(newpage) != page_zone(page)) {
> + dec_zone_page_state(page, NR_ZSPAGES);
> + inc_zone_page_state(newpage, NR_ZSPAGES);
> + }
> +
> reset_page(page);
> put_page(page);
> page = newpage;
>