Re: mm: pages are not freed from lru_add_pvecs after process termination

From: Michal Hocko
Date: Tue May 03 2016 - 03:38:06 EST


On Mon 02-05-16 19:02:50, Kirill A. Shutemov wrote:
> On Mon, May 02, 2016 at 08:49:03AM -0700, Dave Hansen wrote:
> > On 05/02/2016 08:01 AM, Kirill A. Shutemov wrote:
> > > On Mon, May 02, 2016 at 04:39:35PM +0200, Vlastimil Babka wrote:
> > >> On 04/27/2016 07:11 PM, Dave Hansen wrote:
> > >>> 6. Perhaps don't use the LRU pagevecs for large pages. It limits the
> > >>> severity of the problem.
> > >>
> > >> I think that makes sense. Being large already amortizes the cost per base
> > >> page much more than pagevecs do (512 vs ~22 pages?).
> > >
> > > We try to do this already, don't we? Any spefic case where we have THPs on
> > > pagevecs?
> >
> > Lukas was hitting this on a RHEL 7 era kernel. In his kernel at least,
> > I'm pretty sure THP's were ending up on pagevecs. Are you saying you
> > don't think we're doing that any more?
>
> As Vlastimil pointed, we do. It need to be fixed, I think.

It seems that offloading the draining to the vmstat context doesn't look
terribly bad. Don't we rather want to go that way?
--
Michal Hocko
SUSE Labs