Commit 45d6fa63 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] oom killer: ignore free swapspace

From: William Lee Irwin III <wli@holomorphy.com>

During stress testing at Oracle to determine the maximum number of clients
2.6 can service, it was discovered that the failure mode of excessive
numbers of clients was kernel deadlock.  The following patch removes the
check if (nr_swap_pages > 0) from out_of_memory() as this heuristic fails
to detect memory exhaustion due to pinned allocations, directly causing the
aforementioned deadlock.
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 0d3e9465
...@@ -230,12 +230,6 @@ void out_of_memory(void) ...@@ -230,12 +230,6 @@ void out_of_memory(void)
static unsigned long first, last, count, lastkill; static unsigned long first, last, count, lastkill;
unsigned long now, since; unsigned long now, since;
/*
* Enough swap space left? Not OOM.
*/
if (nr_swap_pages > 0)
return;
spin_lock(&oom_lock); spin_lock(&oom_lock);
now = jiffies; now = jiffies;
since = now - last; since = now - last;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment