Re: [RESEND][PATCH v2] mm: don't call lru draining in the nested lru_cache_disable

From: Michal Hocko
Date: Thu Jan 20 2022 - 03:24:26 EST


On Wed 19-01-22 20:25:54, Minchan Kim wrote:
> On Wed, Jan 19, 2022 at 10:20:22AM +0100, Michal Hocko wrote:
[...]
> > What does prevent you from calling lru_cache_{disable,enable} this way
> > with the existing implementation? AFAICS calls can be nested just fine.
> > Or am I missing something?
>
> It just increases more IPI calls since we drain the lru cache
> both upper layer and lower layer. That's I'd like to avoid
> in this patch. Just disable lru cache one time for entire
> allocation path.

I do not follow. Once you call lru_cache_disable at the higher level
then no new pages are going to be added to the pcp caches. At the same
time existing caches are flushed so the inner lru_cache_disable will not
trigger any new IPIs.

--
Michal Hocko
SUSE Labs