Re: [RFC v1] memcg: add memcg lru for page reclaiming

From: Michal Hocko
Date: Wed Oct 23 2019 - 04:08:28 EST


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