The oom-killer will refuse to kill if there is free swapspace.  This is
wrong, because it assumes that there are swappable pages in the affected
zone.  it caould all be mlocked memory, or slab, or whatever.

Simply remove that test.


 25-akpm/mm/oom_kill.c |    6 ------
 1 files changed, 6 deletions(-)

diff -puN mm/oom_kill.c~oomkill-if-free-swap mm/oom_kill.c
--- 25/mm/oom_kill.c~oomkill-if-free-swap	Tue Jul  1 14:31:27 2003
+++ 25-akpm/mm/oom_kill.c	Tue Jul  1 14:32:01 2003
@@ -216,12 +216,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;

_