WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] credit scheduler and HYPERVISOR_yield()

On Tue, Oct 09, 2007 at 02:22:13PM +0100, George Dunlap wrote:

> What this means in the case of a yield(), unfortunately, is that If a
> given vcpu is the only vcpu on its processor with credits left, all it
> can do is burn up its extra credits spinning or calling yield() to no
> effect.
> 
> A simple option would be, for the credit scheduler, to temporarily
> reduce the priority from TS_UNDER to TS_OVER.  This will cause it to

We prototyped this change and it made quite a difference (though didn't
solve our problems entirely). Would it be possible to get a proper fix
available?

Emmanuel Ackaouy wrote:

> It may be worthwhile to consider if yield() can be replaced with
> more intelligent mechanisms for VCPU synchronization of SMP
> guests. In the case of ACKed IPIs for example, if all target VCPUs
> are not running at the time of the IPI initiation, it might be a good
> idea to put the source to sleep until all targets have ACKed.
> If all target VCPUs are running though, I suspect things will work
> best if the IPI initiator does not yield at all.

This seems like a bad idea since we may be IPIing to several CPUs and we
don't want to sleep whilst we can usefully move on and IPI the other
CPUs (even if they can't quite respond yet).

cheers
john

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel