Hi, Shakeel, Shakeel Butt <shakeelb@xxxxxxxxxx> writes: > The commit 2d146aa3aa84 ("mm: memcontrol: switch to rstat") but skipped > the conversion of the lruvec stats as such stats are read in the > performance critical code paths and flushing stats may have impacted the > performances of the applications. This patch converts the lruvec stats > to rstat and later patch adds the periodic flushing of the stats and > thus remove the need to synchronously flushing the stats in the > performance critical code paths. > > The rstat conversion comes with the price i.e. memory cost. Effectively > this patch reverts the savings done by the commit f3344adf38bd ("mm: > memcontrol: optimize per-lruvec stats counter memory usage"). However > this cost is justified due to negative impact of the inaccurate lruvec > stats on many heuristics. One such case is reported in [1]. > > The memory reclaim code is filled with plethora of heuristics and many > of those heuristics reads the lruvec stats. So, inaccurate stats can > make such heuristics ineffective. [1] reports the impact of inaccurate > lruvec stats on the "cache trim mode" heuristic. Inaccurate lruvec stats > can impact the deactivation and aging anon heuristics as well. > > [1] https://lore.kernel.org/linux-mm/20210311004449.1170308-1-ying.huang@xxxxxxxxx/ Sorry for late reply. I have just verified that this patchset can resolve the problem as in the above link for me. Thanks! Best Regards, Huang, Ying > Signed-off-by: Shakeel Butt <shakeelb@xxxxxxxxxx> > --- > Changes since v1: > - no changes >