Thread (34 messages) flat view 34 messages, 13 authors, 2012-04-17

Re: [PATCH RFC V6 0/11] Paravirtualized ticketlocks

From: Srivatsa Vaddagiri <hidden>
Date: 2012-03-31 04:10:07
Also in: kvm, lkml, xen-devel

* Srivatsa Vaddagiri [off-list ref] [2012-03-31 09:37:45]:
The issue is with ticketlocks though. VCPUs could go into a spin w/o
a lock being held by anybody. Say VCPUs 1-99 try to grab a lock in
that order (on a host with one cpu). VCPU1 wins (after VCPU0 releases it)
and releases the lock. VCPU1 is next eligible to take the lock. If 
Sorry I meant to say "VCPU2 is next eligible ..."
that is not scheduled early enough by host, then remaining vcpus would keep 
spinning (even though lock is technically not held by anybody) w/o making 
forward progress.

In that situation, what we really need is for the guest to hint to host
scheduler to schedule VCPU1 early (via yield_to or something similar). 
s/VCPU1/VCPU2 ..

- vatsa
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help