On Thu, Jan 23, 2025 at 09:15:09AM -0800, Josh Poimboeuf wrote:
> On Thu, Jan 23, 2025 at 09:14:03AM +0100, Peter Zijlstra wrote:
> > On Wed, Jan 22, 2025 at 12:47:20PM -0800, Josh Poimboeuf wrote:
> > > What exactly do you mean by "NMI like"?  Is it because a #DB might be
> > > basically running in NMI context, if the NMI hit a breakpoint?
> > 
> > No, #DB, #BP and such are considered NMI (and will have in_nmi() true)
> > because they can trigger anywhere, including sections where IRQs are
> > disabled.
> 
> So:
> 
>   - while exceptions are technically not NMI, they're "NMI" because they
>     can occur in NMI or IRQ-disabled regions
> 
>   - such "NMI" exceptions can be preempted by NMIs and "NMIs"
> 
>   - NMIs can be preempted by "NMIs" but not NMIs (except in entry code!)
> 
> ... did I get all that right?  Not subtle at all!

Yeah, sounds about right :-)

Reply via email to