Hello. komal wrote:
> 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); > } BTW, I've looked into kgdb_handle_exception() and I think I've spotted couple of issues with calling these methods: - the pre_exception() method may be called several times in a row because of acquirelock label preceding its call -- the code will go back to this label under some circumstances and therefore netpoll's 'trapping' variable will be incremented more than once but will only be decremented once upon exit; - if KGDB hits a disabled breakpoint (can only happen on x86), the code will jump to the kgdb_restore label bypassing a call to the post_exception() method. Obviously, this may render device queue frozen even after KGDB leaves the exception (because of CONFOG_NETPOLL_TRAP). What about moving the post_exception() call under kgdb_restore label (that is, after all the CPUs have quit from KGDB -- which would seem symmetrical to post_exception() call that is made before all CPUs are stopped) and moving the post_exception() call before acauirelock label? WBR, Sergei ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Kgdb-bugreport mailing list Kgdb-bugreport@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport