Messages in this thread | | | Date | Thu, 14 Apr 2016 16:39:56 +0800 | From | Pan Xinhui <> | Subject | Re: [PATCH] locking/pvqspinlock: Add lock holder CPU argument to pv_wait() |
| |
On 2016年04月14日 08:21, Peter Zijlstra wrote: > On Wed, Apr 13, 2016 at 04:59:20PM -0400, Waiman Long wrote: >> Pan Xinhui was asking for a lock holder cpu argument in pv_wait() >> to help the porting of pvqspinlock to PPC. The new argument will can >> potentially help hypervisor expediate the execution of the critical >> section so that the lock holder vCPU can release the lock sooner. >> >> This patch does just that by storing the previous node vCPU number. >> In pv_wait_head_or_lock(), pv_wait() will be called with that vCPU >> number as it is likely to be the lock holder. In pv_wait_node(), >> -1 will be passed to pv_wait() instead to indicate that it doesn't >> know what the current lock holder is. > > Without knowing why he needs this, it is very hard to tell if this will > suffice. > > Xinhui, what do you need the extra argument for? >
We the could give current vcpu's slice to that vcpu. The lock holder has more slice to run, the lock might be unlocked earlier. :)
| |