Re: [2.4] heavy-load under swap space shortage

Andrew Morton
2004-03-14T23:22:56Z

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.

> There are workloads where adding anonymous pages to the lru is
> suboptimal for both the vm (cache shrinking) and the fast path too
> (lru_cache_add), not sure how 2.6 optimizes those bits, since with 2.6
> you're forced to add those pages to the lru somehow and that implies
> some form of locking.

Basically a bunch of tweeaks:

- Per-zone lru locks (which implicitly made them per-node)

- Adding/removing sixteen pages for one taking of the lock.

- Making the lock irq-safe (it had to be done for other reasons, but
reduced contention by 30% on 4-way due to not having a CPU wander off to
service an interrupt while holding a critical lock).

- In page reclaim, snip 32 pages off the lru completely and drop the
lock while we go off and process them.