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

Andrew Morton
2004-03-14T20:15:11Z

Marcelo Tosatti <marcelo.tosatti@cyclades.com> wrote:
>
> At first I was skeptic to the inclusion of this patch in v2.4 (due to the
> freeze), but after thinking a bit more about I have a few points in favour
> of this modification (read Nomura's message below and the patch to know
> what I'm talking about):
>
> - It is off by default
> - It is very simple (non intrusive), it just changes the point in which
> anonymous pages are inserted into the LRU.
> - When turned on, I dont see it being a reason for introducing new
> bugs.
>
> What you think of this?

hm, I hadn't noticed that 2.4 was changed to _not_ add anon pages to the
LRU. I'd always regarded that as a workaround for pagemap_lru_lock contention
on large SMP machines which would never get beyond the suse kernel.

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.

I confess that I don't really understand the failure mode. So we have
zillions of anon pages which are not on the LRU. We call swap_out() and
scan all these pages, failing to find swapcache space for them.

Why does adding the pages to the LRU up-front solve the problem?

(And why cannot we lazily add these anon pages to the LRU in swap_out, and
avoid the need for the knob?)