Re: [patch 113/131] mm: balance LRU lists based on relative thrashing

From: Johannes Weiner
Date: Tue Jun 09 2020 - 10:46:41 EST


On Tue, Jun 09, 2020 at 05:15:33PM +0800, Alex Shi wrote:
>
>
> å 2020/6/4 äå7:03, Andrew Morton åé:
> >
> > + /* XXX: Move to lru_cache_add() when it supports new vs putback */
>
> Hi Hannes,
>
> Sorry for a bit lost, would you like to explain a bit more of your idea here?
>
> > + spin_lock_irq(&page_pgdat(page)->lru_lock);
> > + lru_note_cost(page);
> > + spin_unlock_irq(&page_pgdat(page)->lru_lock);
> > +
>
>
> What could we see here w/o the lru_lock?

It'll just be part of the existing LRU locking in
pagevec_lru_move_fn(), when the new pages are added to the LRU in
batch. See this older patch for example:

https://lore.kernel.org/linux-mm/20160606194836.3624-6-hannes@xxxxxxxxxxx/

I didn't include it in this series to reduce conflict with Joonsoo's
WIP series that also operates in this area and does something similar:

https://lkml.org/lkml/2020/4/3/63