lkml.org 
[lkml]   [2003]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
From
SubjectRe: Linux 2.4.21-rc1 - unresolved
Date
On Wednesday 23 April 2003 21:51, Marcelo Tosatti wrote:

Hi Marcelo,

> I'm sorry for not having looked into it, Marc. My inbox is not a very
> easily manageable thing.
> > Search the archives. I won't post it again and again and again and again
> > ^again^10.
> I will look into the archives. Thank you.
Don't waste your time with searching archives ;) Take the attached ones.

Explaination:

01. export 'proc_get_inode' symbol b/c it's unresolved in
drivers/net/wan/comx.o

Patch by: Andrea Arcangeli

02. export 'panic_notifier_list, panic_timeout' b/c it's unresolved in
ipmi_msghandler.o and ipmi_watchdog.o

Patch by: me

03. 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.

Patch by: Rik van Riel

I can ack that this fixes the silly behaviour of the oom killer if the
patch is _not_ applied. _With_ the patch, it works great.

--
ciao, Marc--- 2.4.19pre8aa2/fs/proc/root.c.~1~ Fri May 3 02:12:18 2002
+++ 2.4.19pre8aa2/fs/proc/root.c Sat May 4 13:45:30 2002
@@ -145,3 +145,4 @@
EXPORT_SYMBOL(proc_net);
EXPORT_SYMBOL(proc_bus);
EXPORT_SYMBOL(proc_root_driver);
+EXPORT_SYMBOL(proc_get_inode);
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.
*/--- linux.orig/kernel/ksyms.c Fri Dec 6 09:12:07 2002
+++ linux/kernel/ksyms.c Fri Dec 6 09:13:01 2002
@@ -65,6 +65,8 @@
extern int request_dma(unsigned int dmanr, char * deviceID);
extern void free_dma(unsigned int dmanr);
extern spinlock_t dma_spin_lock;
+extern int panic_timeout;
+

#ifdef CONFIG_MODVERSIONS
const struct module_symbol __export_Using_Versions
@@ -471,6 +471,8 @@

/* misc */
EXPORT_SYMBOL(panic);
+EXPORT_SYMBOL(panic_notifier_list);
+EXPORT_SYMBOL(panic_timeout);
EXPORT_SYMBOL(__out_of_line_bug);
EXPORT_SYMBOL(sprintf);
EXPORT_SYMBOL(snprintf);
\
 
 \ /
  Last update: 2005-03-22 13:34    [W:0.041 / U:0.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site