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