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.

_______________________________________________
freebsd-virtualization@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-virtualization
To unsubscribe, send any mail to 
"freebsd-virtualization-unsubscr...@freebsd.org"

Reply via email to