Re: Out Of Memory in v. 2.1

Andrea Arcangeli (andrea@e-mind.com)
Tue, 6 Oct 1998 00:07:14 +0200 (CEST)


On Mon, 5 Oct 1998, Rik van Riel wrote:

>See Andrea's patch for something along those lines.
>(but don't try it yet. Andrea is like me, you'll often have

I am not like you since I hate to write docs.

>to wait for the 2nd patch to get something actually working :)

You should try it before speak. There' s no a second patch because the
first one worked fine so far (I had also some nice report from people).
And if I know there' s something wrong in one of my work _I_ declare it to
the public _myself_ ASAP, BTW.

And my patch fix _bugs_ in the current MM design of Linux 2.1 and has
nothing to do with your OOM killer.

If you want to use an OOM killer to choice which process to kill when the
system is OOM you first need to know _when_ the system is OOM. Right now
the kernel is not able to detect when the system is OOM after a page fault
because __get_free_pages() never returns NULL _and_ because kswapd runs
forever. My patch fix all such bugs. If you want to use your OOM killer
you have simply to change the force_sig() in the swapin and anonymous page
fault with something like your kill_the_best_process() (aka OOM_killer()).

(Maybe you are running your oom killer in a ugly RT (yes must be RT to
workaround the kswapd starvation _without_ my patch applyed) kernel daemon
just to waste many good CPU cycles? Or you are killing process to early
when really there' s still some memory (but yes, who cares, because you
will never run your OOM killer in a 8mbyte 386, right?)?)

And btw I don' t like an OOM killer that choice wich process to kill when
the system is OOM. The only justice I can think is to kill _the_ current
process: the process that has requested memory via a page fault if
__get_free_pages() returned NULL (and if you are using a kernel daemon you
can' t know which is that process btw).

So my thought is that we/_I_ don' t need an OOM killer.

And instead _you_ need my patch to have your OOM killer working.

Please Rik, apply my patch to 2.1.124 _now_ and find a way to kill the
machine or find a way where linux is not able to handle a heavy swapout
and segfault even if there' s some swap avaible. Really really please
(you are enabled also to use swapoff -a to do that ;-). I can' t.

Let me know!

Andrea[s] Arcangeli

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/