Re: RCU question
From: Manfred Spraul
Date: Sun Dec 12 2004 - 05:24:49 EST
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.
** normal interrupt does a wakeup, schedules a tasklet, whatever
** irqd from normal interupt
hlt << cpu sleeps.
Thus: lost wakeup.
--
Manfred
**
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/