diff options
author | Andrew Morton <akpm@osdl.org> | 2004-06-23 19:24:44 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-06-23 19:24:44 -0700 |
commit | 45d6fa63820233c1bae14d4477a9df13c7d8bf8f (patch) | |
tree | f8e12123863be9db4bf855462de3a0893911a833 /mm | |
parent | 0d3e94651d87ec7518320f9986f1a637163501c9 (diff) | |
download | history-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.c | 6 |
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; |