On Wed 23-10-19 12:44:48, Hillf Danton wrote: > > On Tue, 22 Oct 2019 15:58:32 +0200 Michal Hocko wrote: > > > > On Tue 22-10-19 21:30:50, Hillf Danton wrote: [...] > > > in this RFC after ripping pages off > > > the first victim, the work finishes with the first ancestor of the victim > > > added to lru. > > > > > > Recaliming is defered until kswapd becomes active. > > > > This is a wrong assumption because high limit might be configured way > > before kswapd is woken up. > > This change was introduced because high limit breach looks not like a > serious problem in the absence of memory pressure. Lets do the hard work, > reclaiming one memcg a time up through the hierarchy, when kswapd becomes > active. It also explains the BH introduced. But this goes against the main motivation for the high limit - to throttle. It is not all that important that there is not global memory pressure. The preventive high limit reclaim is there to make sure that the specific memcg is kept in a reasonable containment. -- Michal Hocko SUSE Labs