|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] credit scheduler and HYPERVISOR_yield()
On Sun, Oct 14, 2007 at 09:20:50PM +0200, 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).
>
> Why can't you initiate the IPI to all the destination CPUs first
We do, maybe I misunderstood what you were suggesting.
> Doing the change that George proposed may help in your case
> but I suspect that, as I described in my previous post, it will cause
> problems for other workloads.
>
> I think it is reasonable for a yield() operation to yield to runnable
> VCPUs of equal or higher priority than the running VCPU. That
> is the behavior of the scheduler today.
Well yes, except the priorities are "wrong". We've explicitly asked to
not be scheduled, it doesn't seem right for the scheduler not to heed
that suggestion.
> Maybe your problem can be addressed without changing the behavior of
> yield?
For this particular problem, sure.
> With that said, it's unlikely that I'll be making a change to the
> scheduler myself: I haven't worked at XenSource for some time
That's fine...
regards
john
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|