lkml.org 
[lkml]   [2008]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH] x86 NMI-safe INT3 and Page Fault (v5)
    On Thu, 17 Apr 2008 16:14:10 -0400
    Mathieu Desnoyers <compudj@krystal.dyndns.org> wrote:

    > +#define nmi_enter() \
    > + do { \
    > + lockdep_off(); \
    > + BUG_ON(hardnmi_count()); \
    > + add_preempt_count(HARDNMI_OFFSET); \
    > + __irq_enter(); \
    > + } while (0)

    <did it _have_ to be a macro?>

    Doing BUG() inside an NMI should be OK most of the time. But the
    BUG-handling code does want to know if we're in interrupt context - at
    least for the "fatal exception in interrupt" stuff, and probably other
    things.

    But afacit the failure to include HARDNMI_MASK in

    #define irq_count() (preempt_count() & (HARDIRQ_MASK | SOFTIRQ_MASK))

    will prevent that.

    So.

    Should we or should we not make in_interrupt() return true in NMI?
    "should", I expect.

    If not, we'd need to do something else to communicate the current
    processing state down to the BUG-handling code.



    \
     
     \ /
      Last update: 2008-04-17 22:33    [W:0.035 / U:0.164 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site