Re: [Kgdb-bugreport] [PATCH 2.6.20-rc7] 8139too KGDBoE fix
From: Sergei Shtylyov <hidden>
Date: 2007-03-01 16:22:16
komal wrote:
Hi all,
As the discussion was going on about the effects of trapping the netpoll queue during KGDBoE debugging, I tried avoiding it. So in eth_pre_exception_handler() I did not set net_poll_trap to 1 and did not reset it back to 0 in eth_post_exception_handler()
file drivers/net/kgdboe.c
static void eth_pre_exception_handler(void)
{
/* Increment the module count when the debugger is active */
if (!kgdb_connected)
try_module_get(THIS_MODULE);
// netpoll_set_trap(1);
}
static void eth_post_exception_handler(void)
{
/* decrement the module count when the debugger detaches */
if (!kgdb_connected)
module_put(THIS_MODULE);
// netpoll_set_trap(0);
}
I'm afraid that was a wrong thing to do. We were talking only about
disabling CONFIG_NETPOLL_TRAP option
BTW, I don't see how CONFIG_NETPOLL_RX actually could influence anything --
looks like it just may be completely removed).
As i started testing KGDBoe, 1st time I did (gdb)info threads and it worked, but after that I set breakpoint (gdb)break link_path_walk after this any of the commands were not working and the test machine went in hang state. To provide more information, I am working on an i386/x86_64 Athlon box, using 2.6.17 kernel and 100Mbps, full-duplex, VIA Rhine network card.
This driver also seems prone to TX queue overwrites since its TX ring size
is only 16.
-Regards Komal Nawandar
WBR, Sergei