Re: GP with 2.0.31pre9

Ingo Molnar (mingo@pc7537.hil.siemens.at)
Wed, 17 Sep 1997 12:54:53 +0200 (MET DST)


On Tue, 16 Sep 1997, Dan Hollis wrote:

> Got the following with 2.0.31pre9.

> EIP: 0010:[<0012d448>]

> >>EIP: 12d448 <locks_remove_locks+c/38>

it's a completely garbled file array structure. Could you try the
attached (untested) diagnostic patch, does it produce logging output?

-- mingo

--- .exit.c.original Wed Sep 17 14:49:57 1997
+++ exit.c Wed Sep 17 14:55:06 1997
@@ -393,10 +393,18 @@
}
}

+#include <linux/kernel_stat.h>
+#define NOSCHEDULE_ON() int __curr_ctx = kstat.context_swtch;
+#define NOSCHEDULE_OFF() if (__curr_ctx != kstat.context_swtch) \
+ printk("Hey! illegal scheduling at: %s:%d.\n", \
+ __LINE__,__FILE__);
+
static inline void close_files(struct files_struct * files)
{
int i, j;

+ NOSCHEDULE_ON();
+
j = 0;
for (;;) {
unsigned long set = files->open_fds.fds_bits[j];
@@ -411,6 +419,8 @@
set >>= 1;
}
}
+
+ NOSCHEDULE_OFF();
}

static inline void __exit_files(struct task_struct *tsk)