|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] credit scheduler and HYPERVISOR_yield()
On 15/10/07 18:13, "Emmanuel Ackaouy" <ackaouy@xxxxxxxxx> wrote:
> In the case of IPIs, you're already going into the hypervisor so you
> should be able to do something straightforward with a sleeping
> semaphore. Maybe you spin a little before you sleep though to give
> running VCPUs a chance to respond before you give up the end of
> your time slice.
Actually a blocking spinlock could be implemented with no Xen changes.
Change the spinlock function in Linux to spin a few times and then set a
waiting bit in a cpumask and then SCHEDOP_poll on a per-VCPU spinlock-wakeup
event channel. On spin_unlock, the unlocker sends an event to any VCPU in
the cpumask, using each VCPU's spinlock-wakeup event channel.
Yes, this is probably nicer than using yield() and praying.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|