[lkml]   [2004]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: RCU question
    On Sun, Dec 12, 2004 at 11:22:49AM +0100, Manfred Spraul wrote:
    > Andrea Arcangeli wrote:
    > >On Sun, Dec 12, 2004 at 09:59:00AM +0100, Manfred Spraul wrote:
    > >
    > >
    > >>It means that our NMI irq return path should check if it points to a hlt
    > >>instruction and if yes, then increase the saved EIP by one before doing
    > >>the iretd, right?
    > >>
    > >>
    > >
    > >I don't think we'll ever post any event through nmi, so it doesn't
    > >matter. We only care to be waken by real irqs, not nmi/smi. Idle loop is
    > >fine to ignore the actions of the nmi handlers and to hang into the
    > >"hlt".
    > >
    > >
    > No, You misunderstood the problem:
    > sti
    > ** NMI handler
    > ** normal interrupt arrives, is queued by the cpu
    > ** irqd from NMI handler
    > ** cpu notices the normal interrupt, handles it.

    ok. The above just wasn't obvious to me because iret of an nmi is doing
    the same thing that sti does (and the nmi itself is like a cli).
    Shouldn't iret wait 1 instruction too or is there a special case about
    iret? The specs only tells sti waits 1 instruction, but they don't tell
    anything about iret (nor that it waits nor that it doesn't wait). I
    realized now the link posted here assumes iret isn't going to wait 1
    instruction before processing pending irqs which is reasonable given the
    specs don't tell anything about iret, but I didn't imagine there was a
    difference between sti and iret (I mean only when iret is going to
    change the interrupt enable flag from 0 to 1 just like sti does).

    Overall this is a very minor issue (unless HZ is 0), it would only
    introduce a 1/HZ latency to the irq that get posted while the nmi
    handler is running, and the nmi handlers never runs in production.
    Forcing idle=poll when the nmi watchdog is enabled is probably a
    reasonable fix.

    As for the SMI, I wonder how you plan to fix it. To me it sounds like a
    minor mistake that iret isn't equivalent to sti when it toggles the irq
    enable bitflag (infact I don't see a way to fix it for smi, though I
    know very little about smi).

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:08    [W:0.031 / U:8.424 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site