On Sat, Oct 14, 2023 at 4:08 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, 12 Oct 2023 15:23:06 -0700 Yosry Ahmed <yosryahmed@xxxxxxxxxx> wrote: > > > Meanwhile, Andrew, could you please replace the commit log of this > > patch as follows for more updated testing info: > > Done. Sorry Andrew, but could you please also take this fixlet? From: Yosry Ahmed <yosryahmed@xxxxxxxxxx> Date: Tue, 17 Oct 2023 23:07:59 +0000 Subject: [PATCH] mm: memcg: clear percpu stats_pending during stats flush When flushing memcg stats, we clear the per-memcg count of pending stat updates, as they are captured by the flush. Also clear the percpu count for the cpu being flushed. Suggested-by: Wei Xu <weixugc@xxxxxxxxxx> Signed-off-by: Yosry Ahmed <yosryahmed@xxxxxxxxxx> --- mm/memcontrol.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 0b1377b16b3e0..fa92de780ac89 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5653,6 +5653,7 @@ static void mem_cgroup_css_rstat_flush(struct cgroup_subsys_state *css, int cpu) } } } + statc->stats_updates = 0; /* We are in a per-cpu loop here, only do the atomic write once */ if (atomic64_read(&memcg->vmstats->stats_updates)) atomic64_set(&memcg->vmstats->stats_updates, 0); -- 2.42.0.655.g421f12c284-goog