Re: [PATCH v2] mm/memcg: Fix incorrect flushing of lruvec data in obj_stock

From: Shakeel Butt
Date: Mon Aug 02 2021 - 10:39:57 EST


On Mon, Aug 2, 2021 at 7:38 AM Waiman Long <longman@xxxxxxxxxx> wrote:
>
> When mod_objcg_state() is called with a pgdat that is different from
> that in the obj_stock, the old lruvec data cached in obj_stock are
> flushed out. Unfortunately, they were flushed to the new pgdat and
> so the data go to the wrong node. This will screw up the slab data
> reported in /sys/devices/system/node/node*/meminfo.
>
> Fix that by flushing the data to the cached pgdat instead.
>
> Fixes: 68ac5b3c8db2 ("mm/memcg: cache vmstat data in percpu memcg_stock_pcp")
> Signed-off-by: Waiman Long <longman@xxxxxxxxxx>
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>

Reviewed-by: Shakeel Butt <shakeelb@xxxxxxxxxx>