Messages in this thread | | | Date | Wed, 14 Dec 2011 08:44:13 -0500 | From | Mathieu Desnoyers <> | Subject | Re: [RFC][PATCH 5/5 v2] x86: Allow NMIs to hit breakpoints in i386 |
| |
* Steven Rostedt (rostedt@goodmis.org) wrote: > On Wed, 2011-12-14 at 08:30 -0500, Mathieu Desnoyers wrote: > > > Just to make sure I understand: if an NMI nests over do_nmi between > > nmi_postprocess() and the following iret (in which case the CPU is in > > state NMI_NOT_RUNNING), we will end up with two NMI handlers nested on > > the stack, right ? Given that there is no upper-bound on the nesting > > level of this situation (although nesting like this more than once is > > extremely unlikely), is this side-effect something we should care about > > in terms of stack space usage ? > > At that point, there's very little on the stack to begin with. Just the > one irq frame, and saved regs, plus the stack frame of this function. If > we are hitting that many NMIs to cause a stack overflow, then I believe > there's more issues than the overflow itself. Say, a livelock of NMIs?
Yep, if it's small then it's fine I guess.
> > > Also, is the stack dump OOPS handler > > aware of this stack layout that was until now impossible ? > > Since NMIs on i386 doesn't change the stack when interrupting the > kernel, the OOPs handler never was aware of the NMI stack layout.
Makes sense, sounds good,
Thanks!
Mathieu
> > -- Steve > > >
-- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com
| |