Re: [PATCH] x86, nmi: workaround sti; hlt race vs nmi; intr

From: Avi Kivity
Date: Mon Sep 27 2010 - 05:27:26 EST


On 09/27/2010 11:22 AM, Alexander Graf wrote:
On 27.09.2010, at 11:17, Avi Kivity wrote:

> On 09/27/2010 11:15 AM, Alexander Graf wrote:
>> >
>> > Wow, this is incredibly ugly :). Can't we just mask NMIs when the interrupt shadow is active?
>
> I plan to do that, for all the code that's out there relying on on STI interrupt shadow masking NMIs.
>
>> Yeah, that's me writing without thinking. So this means that the race can also happen on real hardware?
>>
>
> Yes. At least on documented hardware. Some (most? all?) hardware does mask NMIs after STI.

If all hardware masks NMIs after STI, wouldn't it be better to update the spec and declare KVM buggy for injecting NMIs there?


I don't have write permissions for the spec. If you can verify that all existing and future hardware will mask NMI after STI and convince the spec owners to update the specifications, I'm all for it; it's certainly a cleaner solution.

Note these days hardware includes virtual hardware; though it's less affected. Missing a wakeup is critical for real time systems -- virtualized systems are unlikely to notice it unless they have exactly one interrupt source.

--
error compiling committee.c: too many arguments to function

--
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/