Re: [PATCH 08/13] xen/pvticketlock: disable interrupts while blocking

From: Jeremy Fitzhardinge
Date: Wed Sep 07 2011 - 13:17:22 EST


On 09/07/2011 10:09 AM, Avi Kivity wrote:
> On 09/07/2011 07:52 PM, Don Zickus wrote:
>> >
>> > May I ask how? Detecting a back-to-back NMI?
>>
>> Pretty boring actually. Currently we execute an NMI handler until
>> one of
>> them returns handled. Then we stop. This may cause us to miss an
>> NMI in
>> the case of multiple NMIs at once. Now we are changing it to execute
>> _all_ the handlers to make sure we didn't miss one.
>
> That's going to be pretty bad for kvm - those handlers become a lot
> more expensive since they involve reading MSRs.

How often are you going to get NMIs in a kvm guest?

> Even worse if we start using NMIs as a wakeup for pv spinlocks as
> provided by this patchset.

Hm, I'm interested to know what you're thinking in more detail. Can you
leave an NMI pending before you block in the same way you can with
"sti;halt" with normal interrupts?

I was thinking you might want to do something with monitor/mwait to
implement the blocking/kick ops. (Handwave)

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