Re: KGDB 2.0.3 with fixes and development in ethernet interface
From: George Anzinger
Date: Sat Jan 17 2004 - 14:56:44 EST
Amit S. Kale wrote:
On Saturday 17 Jan 2004 6:53 am, George Anzinger wrote:
Pavel Machek wrote:
Hi!
KGDB 2.0.3 is available at
http://kgdb.sourceforge.net/kgdb-2/linux-2.6.1-kgdb-2.0.3.tar.bz2
Ethernet interface still doesn't work. It responds to gdb for a couple of
packets and then panics. gdb log for ethernet interface is pasted below.
It panics and enter kgdb_handle_exception recursively and silently. To
see the panic on screen make kgdb_handle_exception return immediately if
kgdb_connected is non-zero.
Panic trace is pasted below. It panics in skb_release_data. Looks like
skb handling will have to changed to be have kgdb specific buffers.
This seems to be needed (if I unselect CONFIG_KGDB_THREAD, I get
compile error on x86-64).
Amit, could you explain why this is an option? It seems very useful and
not really too much code...
It saves all registers before switch_to. It does that two times at present.
Once (implicit) register save by gcc and an explicit register save in
arch/<proc>/kernel/entry.S Second register save in kern_schedule generates a
pt_regs structure which gdb can get all registers at once from. If it's
omited, gdb has to figure out where gcc has saved registers from the
non-standards code in switch_to, which it can't do correctly all the time.
We can have a check for (a new variable) debugger_enabled before calling
kern_schedule. That'll be add negligible overhead and will allow extra thread
info to be saved only when a debugger is enabled. There will not be any need
for CONFIG_KGDB_THREAD also.
I don't seem to have such a problem with the mm kgdb. No kern_schedule there...
--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/