| To: | Jim Houston <jim.houston@xxxxxxxx> |
|---|---|
| Subject: | Re: kdb4.3 for linux 2.6 on i386 |
| From: | Prashanth T <prasht@xxxxxxxxxx> |
| Date: | Tue, 20 Jan 2004 11:13:32 +0530 |
| Cc: | kaos@xxxxxxx, kdb@xxxxxxxxxxx |
| In-reply-to: | <1074569590.1017.823.camel@new.localdomain> |
| References: | <400BD82E.2020905@in.ibm.com> <1074569590.1017.823.camel@new.localdomain> |
| Sender: | kdb-bounce@xxxxxxxxxxx |
| User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) |
|
Jim, I had tried this earlier, taking COMMON code kdb-4.3-2.6.0-test11-common1.patch (by Keith) and i386 code from your code on linux 2.6.0. I had encountered the same two problems which you have mentioned and the fixes rightly said by you,are in COMMON code itself. Attached below is the patch for those two issues to be made to the COMMON code: Correct me if I am wrong. 1. local_bh_enable( ) is to be replaced with __local_bh_enable( ) since in an SMP environment, all CPUs other than the intial CPU would have their IRQs disabled. Because of this, they would dump their stack when they encounter the WARN_ON check in local_bh_enable( ) code. 2. I think tasklist_lock comes into picture only in case of SMP and
to check if this lock is acquired by any other process,
rwlock_is_locked( ) routine is to be used.
Jim Houston wrote: On Mon, 2004-01-19 at 08:14, Prashanth T wrote: --- linux-2.6.0-kdb-COMMON/kdb/kdbmain.c 2004-01-20 10:41:15.575577432
+0530
+++ linux-2.6.0-kdb-COMMON-mod/kdb/kdbmain.c 2004-01-19 13:40:53.000000000
+0530
@@ -1967,7 +1967,7 @@
KDB_DEBUG_STATE("kdb 15", result);
kdb_bp_install_local(regs);
kdba_enable_lbr();
- local_bh_enable();
+ __local_bh_enable();
KDB_STATE_CLEAR(KDB_CONTROL);
}
@@ -3168,11 +3168,13 @@
}
spin_unlock(&p->sighand->siglock);
/* Where's read_trylock? */
- if (tasklist_lock.write_lock) {
+#if defined(CONFIG_SMP)
+ if (rwlock_is_locked(&tasklist_lock)) {
kdb_printf("Can't do kill command now.\n"
"The runqueue lock is held somewhere else in kernel,
try again later\n");
return 0;
}
+#endif
info.si_signo = sig;
info.si_errno = 0;
info.si_code = SI_USER;
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: kdb4.3 for linux 2.6 on i386, Jim Houston |
|---|---|
| Next by Date: | Re: kdb4.3 for linux 2.6 on i386, Jim Houston |
| Previous by Thread: | Re: kdb4.3 for linux 2.6 on i386, Jim Houston |
| Next by Thread: | Re: kdb4.3 for linux 2.6 on i386, Jim Houston |
| Indexes: | [Date] [Thread] [Top] [All Lists] |