aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-06-23 19:24:44 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-06-23 19:24:44 -0700
commit45d6fa63820233c1bae14d4477a9df13c7d8bf8f (patch)
treef8e12123863be9db4bf855462de3a0893911a833 /mm
parent0d3e94651d87ec7518320f9986f1a637163501c9 (diff)
downloadhistory-45d6fa63820233c1bae14d4477a9df13c7d8bf8f.tar.gz
[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: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/oom_kill.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 203923cbe15f47..a902e51315a7ec 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -230,12 +230,6 @@ void out_of_memory(void)
static unsigned long first, last, count, lastkill;
unsigned long now, since;
- /*
- * Enough swap space left? Not OOM.
- */
- if (nr_swap_pages > 0)
- return;
-
spin_lock(&oom_lock);
now = jiffies;
since = now - last;