On Tue, Oct 15, 2024 at 2:37 PM Shakeel Butt <shakeel.butt@xxxxxxxxx> wrote: > > The memcg stats are maintained in rstat infrastructure which provides very > fast updates side and reasonable read side. However memcg added plethora > of stats and made the read side, which is cgroup rstat flush, very slow. > To solve that, threshold was added in the memcg stats read side i.e. no > need to flush the stats if updates are within the threshold. > > This threshold based improvement worked for sometime but more stats were > added to memcg and also the read codepath was getting triggered in the > performance sensitive paths which made threshold based ratelimiting > ineffective. We need more visibility into the hot and cold stats i.e. > stats with a lot of updates. Let's add trace to get that visibility. > > Signed-off-by: Shakeel Butt <shakeel.butt@xxxxxxxxx> > Acked-by: Roman Gushchin <roman.gushchin@xxxxxxxxx> > Reviewed-by: Yosry Ahmed <yosryahmed@xxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Muchun Song <songmuchun@xxxxxxxxxxxxx> > Cc: JP Kobryn <inwardvessel@xxxxxxxxx> > Cc: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: T.J. Mercier <tjmercier@xxxxxxxxxx>