Xen (and others Hypervisors) how do they handle IPIs?
Peter Grehan
grehan at freebsd.org
Thu Sep 26 08:23:26 UTC 2013
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 ?
later,
Peter.
More information about the freebsd-virtualization
mailing list