On Sun 27-09-20 10:39:22, zhong jiang wrote: > > On 2020/9/25 8:07 下午, Michal Hocko wrote: > > On Fri 25-09-20 19:49:12, zhongjiang-ali wrote: > > > After appling the series patches(mm: fix page aging across multiple cgroups), > > > cgroup memory reclaim strategy is based on reclaim root's inactive:active > > > ratio. if the target lruvec need to deactivate, its children cgroup also will > > > deactivate. That will result in hot page to be reclaimed and other cgroup's > > > cold page will be left, which is not expected. > > > > > > The patch will not force deactivate when inactive_is_low is not true unless > > > we has scanned the inactive list and memory is unable to reclaim. > > Do you have any data to present? > > I write an testcase that cgroup B has a lot of hot pagecache and cgroup C > is full of cold pagecache. and > > their parent cgroup A will trigger the reclaim due of it's limit has been > breached. > > > The testcase should assume that we should not reclaim the hot pagecache in > cgroup B because C has > > plenty cold pagecache. Unfortunately, I can see cgroup B hot pagecache > has been decreased when > > cgroup A trigger the reclaim. Thank you, this is more or less what've expected from your initial description. An extended form would be preferable for the changelog to make the setup more clear. But you still haven't quantified the effect. It would be also good to describe what is the effect on the workload described by 53138cea7f39 ("mm: vmscan: move file exhaustion detection to the node level"). A more extended description on the implementation would be nice as well. -- Michal Hocko SUSE Labs