On Wed 08-06-16 08:31:21, Dave Hansen wrote:
> On 06/08/2016 07:35 AM, Lukasz Odzioba wrote:
> > diff --git a/mm/swap.c b/mm/swap.c
> > index 9591614..3fe4f18 100644
> > --- a/mm/swap.c
> > +++ b/mm/swap.c
> > @@ -391,9 +391,8 @@ static void __lru_cache_add(struct page *page)
> >     struct pagevec *pvec = &get_cpu_var(lru_add_pvec);
> >  
> >     get_page(page);
> > -   if (!pagevec_space(pvec))
> > +   if (!pagevec_add(pvec, page) || PageCompound(page))
> >             __pagevec_lru_add(pvec);
> > -   pagevec_add(pvec, page);
> >     put_cpu_var(lru_add_pvec);
> >  }
> 
> Lukasz,
> 
> Do we have any statistics that tell us how many pages are sitting the
> lru pvecs?  Although this helps the problem overall, don't we still have
> a problem with memory being held in such an opaque place?

Is it really worth bothering when we are talking about 56kB per CPU
(after this patch)?
-- 
Michal Hocko
SUSE Labs

Reply via email to