Messages in this thread | | | Date | Tue, 26 Jan 2016 10:26:56 -0700 | Subject | Re: [PATCH v2] Add hard/soft lockup debugger entry points | From | Jeff Merkey <> |
| |
On 1/26/16, Chris Metcalf <cmetcalf@ezchip.com> wrote: > On 01/26/2016 12:04 PM, Jeff Merkey wrote: >> This patch adds an export which can be set by system debuggers to direct >> the hard lockup and soft lockup detector to trigger a breakpoint >> exception >> and enter a debugger if one is active. It is assumed that if someone >> sets this variable, then an breakpoint handler of some sort will be >> actively >> loaded or registered via the notify die handler chain. >> >> This addition is extremely useful for debugging hard and soft lockups >> real time and quickly from a console debugger. >> >> Signed-off-by: Jeff Merkey<linux.mdb@gmail.com> >> --- >> kernel/watchdog.c | 10 ++++++++++ >> 1 file changed, 10 insertions(+) > > You probably should reach out to someone who uses this stuff more > regularly - I actually wonder if the kgdb_breakpoint() API is the > right thing, though, not the internal arch_kgdb_breakpoint(). > > Of course any of these strategies also assume you are building > the kernel with CONFIG_KGDB set, and I'm pretty sure will cause > your build to fail if it isn't. You likely need to guard this > stuff locally within watchdog.c for !CONFIG_KGDB. > > -- > Chris Metcalf, EZChip Semiconductor > http://www.ezchip.com > >
I'll go review that code carefully. What would ideal is to have the breakpoint abstraction independent of kgdb entirely. That would not be a simple patch but more involved. We really just need the breakpoint instruction for each arch, not all of kgdb and it should not depend on KGB being enabled. I looked over those includes and this may work, but you are correct, it's not squeaky clean to do it that way. I'll get to work on v3.
:-)
Jeff
| |