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

2013-09-25 Thread Julian Elischer
If CPUs are mapped around, how are IPIs handled? I assume they must be 
emulated?


I've noticed that under Xen (on both Amazon EC2 and a Redhat server) 
whenever you schedule a thread it always sits on the run queue for 20 
uSecs before it starts running. It looks to me like it's the IPI 
taking a long time to be emulated.


We have some workloads where there is a lot of flipping back and forth 
between threads and they are slowed down by an order of magnitude due 
to this..


turning off NOADAPTIVE(mumble) seems to help a bit as some of the 
reschedules go away, but it's still a problem.


Does anyone know if BHyVe or HyperV also have this problem? I have not 
yet gone to the source of Xen to see what it does but it would be 
educational to know what the other Hypervisors do.




___
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


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

2013-09-25 Thread Roger Pau Monné
On 25/09/13 16:56, Julian Elischer wrote:
 If CPUs are mapped around, how are IPIs handled? I assume they must be
 emulated?
 
 I've noticed that under Xen (on both Amazon EC2 and a Redhat server)
 whenever you schedule a thread it always sits on the run queue for 20
 uSecs before it starts running. It looks to me like it's the IPI taking
 a long time to be emulated.

This has been improved on the FreeBSD Xen PVHVM port by using PV IPIs
instead of the emulated ones, see r255331. It should be faster than the
previous emulated implementation.
___
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