|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Linux spin lock enhancement on xen
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
spin-lin.diff
Description: Text Data
spin-xen.diff
Description: Text Data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Linux spin lock enhancement on xen,
Mukesh Rathor <=
|
|
|
|
|