If a process cannot exit because it's stuck in eg. a driver, it doesn't make sense to have the OOM killer kill it repeatedly; that could lead to a hung system. Instead, kill another process if the first process we tried to kill hasn't made any move to exit within 5 seconds. This way we have a much better chance of recovering the system. Note: this patch applies without offset to both 2.4 and 2.5, since oom_kill.c hasn't changed since about 2.4.14... please apply, Rik -- Engineers don't grow up, they grow sideways. http://www.surriel.com/ http://kernelnewbies.org/ ===== mm/oom_kill.c 1.11 vs edited ===== --- 1.11/mm/oom_kill.c Fri Aug 16 10:59:46 2002 +++ edited/mm/oom_kill.c Sat Feb 22 17:31:49 2003 @@ -61,6 +61,9 @@ if (!p->mm) return 0; + + if (p->flags & PF_MEMDIE) + return 0; /* * The memory size of the process is the basis for the badness. */