Messages in this thread | | | Date | Wed, 16 Sep 2015 17:03:07 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v6 6/6] locking/pvqspinlock: Queue node adaptive spinning |
| |
On Tue, Sep 15, 2015 at 11:32:14AM -0400, Waiman Long wrote: > On 09/15/2015 04:38 AM, Peter Zijlstra wrote: > >On Mon, Sep 14, 2015 at 03:37:32PM -0400, Waiman Long wrote: > >>BTW, the queue head vCPU at pv_wait_head_and_lock() doesn't wait early, it > >>will spin the full threshold as there is no way for it to figure out if the > >>lock holder is running or not. > >We can know its cpu id, right? Surely we should then be able to figure > >out if its active or not, I'm thinking the KVM/Xen know these things > >somewhere. > > We can make a guess of the lock holder cpu id by peeking at previous MCS > node. However, if the current lock holder got the lock without entering the > queue or it got the lock by stealing, we won't have information of what CPU > it is.
Ah, yes I see, we do not have storage for the lock holder. Yes you're right.
| |