|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] scheduler independent forced vcpu selection
Ryan Harper schrieb:
> * Stephan Diestelhorst <sd386@xxxxxxxxxxxx> [2005-05-18 09:04]:
>
>>>I'm working on a new hypercall, do_confer, which allows the directed
>>>yielding of a vcpu to another vcpu. It is mainly used when a vcpu fails
>>>to acquire a spinlock, yielding to the lock holder instead of spinning. I
>>>ported the ppc64 spinlock implementation for the i386 linux portion. In
>>>implementing the hypercall, I've been trying to figure out how to get
>>>the scheduler (I've only played with bvt) to run the vcpu passed in the
>>>hypercall (after some validation) but I've run into various bad state
>>>situations (do_softirq pending != 0 assert, '!active_ac_timer(timer)'
>>>failed , and __task_on_runqueue(prev) failed) which tells me I
>>>don't fully understand all of the book-keeping that is needed. Has
>>>anyone thought about how to do this with either BVT or the new EDF
>>>scheduler?
>
>
> After some thought, domain_wake(), followed by
> raise_softirq(SCHEDULE_SOFTIRQ) does what I want and removes the huge
> mess I was making in __enter_scheduler().
Are you waking up the domain that holds the lock? Then you would rely on
the scheduler to give the woken domain a high "priority" (whatever this
means for the current scheduler) and should start that domain
immediatelly, right?
Best,
Stephan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|