Re: Out of memory handling broken

Rik van Riel (
Tue, 25 Sep 2001 17:05:01 -0300 (BRST)

On Tue, 25 Sep 2001, Pavel Machek wrote:

> I need to allocate as much memory as possible (but not more).
> Okay, so I use out_of_memory, right?

Nope, out_of_memory() is about virtual memory handling,
not at all about physical memory.

> But, when I looked into out_of_memory... Of course its
> wrong. out_of_memory() contains
> if (nr_swap_pages > 0)
> return 0;
> ...which is obviously wrong. It is well possible to have free
> swap _and_ be out of memory -- eat_memory() loop gets system to
> this state easily.

This is because you're using out_of_memory() for something
it was never meant for. ;)

Even if it didn't take swap into account, you'd still end
up counting highmem pages your code cannot use...



IA64: a worthy successor to the i860.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at