[PATCH 2] kdb-fixups-lockdep
Joe Korty <[email protected]> Mon, 12 Oct 2009 11:20:23 -0400
| Newsgroups | gmane.linux.kernel.debugging |
|---|---|
| Message-ID | <[email protected]> |
Make kdb CONFIG_LOCKDEP friendly. Use of a serial line console with kdb and lockdep enabled generates lots of lockdep warnings on kdb/entry edit. So fix the circular locking dependency between the kdb_printf and the 8250's port->lock, by suppressing all use of port->lock by the 8250 serial driver when kdb_printf is active. This means that the allowed locking direction is: port->lock ---> kdb_printf_lock Signed-off-by: Joe Korty <[email protected]> Index: 2.6.31.3-kdb/kdb/kdb_io.c =================================================================== --- 2.6.31.3-kdb.orig/kdb/kdb_io.c 2009-10-12 11:05:01.000000000 -0400 +++ 2.6.31.3-kdb/kdb/kdb_io.c 2009-10-12 11:06:50.000000000 -0400 @@ -540,6 +540,7 @@ } else { __acquire(kdb_printf_lock); } + atomic_inc(&kdb_8250); diag = kdbgetintenv("LINES", &linecount); if (diag || linecount <= 1) @@ -774,6 +775,7 @@ if (logging) { console_loglevel = saved_loglevel; } + atomic_dec(&kdb_8250); if (KDB_STATE(PRINTF_LOCK) && got_printf_lock) { got_printf_lock = 0; spin_unlock_irqrestore(&kdb_printf_lock, flags); _______________________________________________ kdb mailing list [email protected] http://oss.sgi.com/mailman/listinfo/kdb