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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/07/2011 10:41 AM, Avi Kivity wrote:
>> 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?
>
>
> Nope.  But you can do
>
>    if (regs->rip in critical section)
>            regs->rip = after_halt;
>
> and effectively emulate it.  The critical section is something like
>
>     critical_section_start:
>         if (woken_up)
>             goto critical_section_end;
>         hlt
>     critical_section_end:

Hm.  It's a pity you have to deliver an actual interrupt to implement
the kick though.

>>
>> I was thinking you might want to do something with monitor/mwait to
>> implement the blocking/kick ops. (Handwave)
>>
>
> monitor/mwait are incredibly expensive to virtualize since they
> require write-protecting a page, IPIs flying everywhere and flushing
> tlbs, not to mention my lovely hugepages being broken up mercilessly.

Or what about a futex-like hypercall?

    J

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux