Re: Lazily add anonymous pages to LRU on v2.4? was Re: [2.4] heavy-load under swap space shortage

Marcelo Tosatti
2004-11-22T20:30:41Z

On Mon, Nov 22, 2004 at 08:49:53PM +0100, Andrea Arcangeli wrote:
> On Mon, Nov 22, 2004 at 01:01:38PM -0200, Marcelo Tosatti wrote:
> > On Sun, Mar 14, 2004 at 03:22:53PM -0800, Andrew Morton wrote:
> > > Andrea Arcangeli <andrea@suse.de> wrote:
> > > >
> > > > >
> > > > > Having a magic knob is a weak solution: the majority of people who are
> > > > > affected by this problem won't know to turn it on.
> > > >
> > > > that's why I turned it _on_ by default in my tree ;)
> > >
> > > So maybe Marcelo should apply this patch, and also turn it on by default.
> >
> > I've been pondering this again for 2.4.29pre - the thing I'm not sure about
> > what negative effect will be caused by not adding anonymous pages to LRU
> > immediately on creation.
> >
> > The scanning algorithm will apply more pressure to pagecache pages initially
> > (which are on the LRU) - but that is _hopefully_ no problem because swap_out() will
> > kick-in soon moving anon pages to LRU soon as they are swap-allocated.
> >
> > I'm afraid that might be a significant problem for some workloads. No?
> >
> > Marc-Christian-Petersen claims it improves behaviour for him - how so Marc,
> > and what is your workload/hardware description?
> >
> > This is known to decrease contention on pagemap_lru_lock.
> >
> > Guys, doo you have any further thoughts on this?
> > I think I'll give it a shot on 2.4.29-pre?
>
> I think you mean the one liner patch that avoids the lru_cache_add
> during anonymous page allocation (you didn't quote it, and I can't see
> the start of the thread). I develoepd that patch for 2.4-aa and I'm
> using it for years, and it runs in all latest SLES8 kernels too, plus
> 2.4-aa is the only kernel I'm sure can sustain certain extreme VM loads
> with heavy swapping of shmfs during heavy I/O. So you can apply it
> safely I think.

Yes it is your patch I am talking about Andrea. Ok, good to hear that.