On Fri, 28 May 2004 19:50:04 +0500,
Ananth N Mavinakayanahalli <[EMAIL PROTECTED]> wrote:
>While working on a ppc64 issue, I hit a problem where we hit the
>BUG in kmem_cache_create() when RECURSE is set to a positive
>value. This looks to be due to _local_bh_enable() not being
>called when the RECURSE flag is set.
kdb v4.3 uses GFP_KERNEL when it should be using GFP_ATOMIC. Fixed in
v4.4.
>However, when kdb_init() calls kdb() and RECURSE flag is set, the
>system goes (incorrectly?) into recursive mode since kdb_initial_cpu
>is set upon kdb_init() entry.
Easier fix, from kdb v4.4-2.6.6-common-2 (released soon).
Index: linux/kdb/kdbmain.c
===================================================================
--- linux.orig/kdb/kdbmain.c Wed Jun 2 11:51:04 2004
+++ linux/kdb/kdbmain.c Wed Jun 2 11:51:17 2004
@@ -3737,7 +3737,9 @@ kdb_init(void)
KDB_MAJOR_VERSION, KDB_MINOR_VERSION, KDB_TEST_VERSION);
kdb_cmd_init(); /* Preset commands from kdb_cmds */
+ kdb_initial_cpu = -1; /* Avoid recursion problems */
kdb(KDB_REASON_SILENT, 0, 0); /* Activate any preset breakpoints on boot cpu
*/
+ kdb_initial_cpu = smp_processor_id();
notifier_chain_register(&panic_notifier_list, &kdb_block);
#ifdef KDB_HAVE_LONGJMP
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.