Xen (and others Hypervisors) how do they handle IPIs?

Julian Elischer julian at freebsd.org
Thu Sep 26 14:51:32 UTC 2013


On 9/26/13 4:16 PM, Peter Grehan wrote:
> Hi Julian,
>
>> If CPUs are mapped around, how are IPIs handled? I assume they must be
>> emulated?
>
>  For bhyve, if the target vCPU of an IPI is running, a null IPI is 
> sent on the host to force it to exit so the IPI can be injected 
> (vmm.c:vm_interrupt_hostcpu()).
>
>  If the target is asleep due to being idle, it is woken up. And, if 
> the target is running but not in vCPU context, an interrupt is 
> queued up so it will be injected on the next vmenter (subject to the 
> emulated local APIC interrupt priority)
>
>> Does anyone know if BHyVe or HyperV also have this problem?
>
>  Hmmm, hard to say. Would you be able to try your workload out on a 
> bhyve system ?
possibly in a few weeks..  I'll try remember when the time is right.

>
> later,
>
> Peter.
>
>
>



More information about the freebsd-virtualization mailing list