|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Linux spin lock enhancement on xen
How does this compare with Jeremy's existing paravirtualised spinlocks in
pv_ops? They required no hypervsior changes. Cc'ing Jeremy.
-- Keir
On 17/08/2010 02:33, "Mukesh Rathor" <mukesh.rathor@xxxxxxxxxx> wrote:
> Hi guys,
>
> Check out the attached patches. I changed the spin lock semantics so the
> lock contains the vcpu id of the vcpu holding it. This then tells xen
> to make that vcpu runnable if not already running:
>
> Linux:
> spin_lock()
> if (try_lock() == failed)
> loop X times
> if (try_lock() == failed)
> sched_op_yield_to(vcpu_num of holder)
> start again;
> endif
> endif
>
> Xen:
> sched_op_yield_to:
> if (vcpu_running(vcpu_num arg))
> do nothing
> else
> vcpu_kick(vcpu_num arg)
> do_yield()
> endif
>
>
> In my worst case test scenario, I get about 20-36% improvement when the
> system is two to three times over provisioned.
>
> Please provide any feedback. I would like to submit official patch for
> SCHEDOP_yield_to in xen.
>
> thanks,
> Mukesh
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|