On Mon, Jul 26, 2010 at 07:13:23PM +0800, DDD wrote: > Frederic Weisbecker wrote: >> Why? It seems to me a kernel debugger should have the highest priority >> over anything. > > In my option, the reason of kgdb set the lowest-prio for > notifier is: > > For letting kgdb to keep simple, there is no codes to check the > breakpoint event was generated by kgdb or not, thus it have to set kgdb > as lowest priority to notifier. > > If the breakpoint event is not generated by kgdb, the source of the > breakpoint event will consume that event before passing to kgdb's > routine, so that the breakpoint event of kgdb getting must be generated > by kgdb itself.
Ok, but that makes it hard to differentiate from a spurious breakpoint event. >> >> >> >>>> - Always returning NOTIFY_DONE from the breakpoint path. >>>> >>>> >>> Without some further investigation, I am not sure what this will do. >> >> >> >> Nothing, this NOTIFY_STOP is only an optimization. But now I think that >> won't solve the problem. We still clear a dr6 trap bit for a debug >> exception due to lazy dr7 switches we have to handle. >> >> This is why kgdb should have the highest priority, or use the overflow >> callback. > > > OK, I will try to use the overflow callback to let kgdb works with > hw_breakpoints. :-) > > Thanks, > Dongdong Thanks. kgdb sets breakpoints through arch_install_hw_breakpoint() So when it triggers, it will be handled by perf through perf_bp_event(), so it's quite natural it is considered as handled and then it's bit removed from dr6. The only way for kgdb to handle it properly is to set an overflow_handler. Tell me if you encounter any problem. ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ Kgdb-bugreport mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport
