Keir,
What do you think of the attached patches?
The first implements something like what you suggest below, but
instead of using a sort of "hack" with VPF_migrate, it makes a proper
"context_saved" SCHED_OP callback.
The second addresses the fact that when sharing runqueues,
v->processor may change quickly without an explicit migrate.
The last two are the credit2 hypervisor and tool patches, which use
these two changes (for reference).
I think these patches should be basically NOOP for the existing
schedulers, so as far as I'm concerned they're ready to be merged as
soon as you're happy with them.
Peace,
-George
On Tue, Dec 8, 2009 at 6:20 PM, Keir Fraser <keir.fraser@xxxxxxxxxxxxx> wrote:
> On 08/12/2009 14:48, "George Dunlap" <George.Dunlap@xxxxxxxxxxxxx> wrote:
>
>> My main concern is that sharing the runqueue between cores requires
>> some changes to the core context switch code. The kinks aren't 100%
>> worked out yet, so there's a risk that there will be an impact on the
>> correctness of the credit1 scheduler.
>
> Ah, if that's the problem with selecting a vcpu which happens to still be
> 'is_running' then I had some ideas how you could deal with that within the
> credit2 scheduler. If you see such a vcpu when searching the runqueue,
> ignore it, but set VPF_migrating. You'll then get a 'pick_cpu' callback when
> descheduling of the vcpu is completed. That should play nice with the lazy
> context switch logic while keeping things work conserving.
>
> -- Keir
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>
context_switch-scheduler-callback.diff
Description: Text Data
context_switch-vcpu-processor-sync.diff
Description: Text Data
credit2-hypervisor.diff
Description: Text Data
credit2-tools.diff
Description: Text Data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|