[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] scheduler independent forced vcpu selection

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

Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.