On 04/20/2016 10:36 AM, Pan Xinhui wrote:
On 2016年04月20日 22:19, Peter Zijlstra wrote:
On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
So there is such case that we search the whole hashtable and the lock is not
found. :(
Waiman assume that if l = null, the lock is not stored.
On 04/20/2016 10:36 AM, Pan Xinhui wrote:
On 2016年04月20日 22:19, Peter Zijlstra wrote:
On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
So there is such case that we search the whole hashtable and the lock is not
found. :(
Waiman assume that if l = null, the lock is not stored.
On 04/20/2016 10:19 AM, Peter Zijlstra wrote:
On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
So there is such case that we search the whole hashtable and the lock is not
found. :(
Waiman assume that if l = null, the lock is not stored. however the lock might
be there actually.
On 04/20/2016 10:19 AM, Peter Zijlstra wrote:
On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
So there is such case that we search the whole hashtable and the lock is not
found. :(
Waiman assume that if l = null, the lock is not stored. however the lock might
be there actually.
On 04/20/2016 08:08 AM, Peter Zijlstra wrote:
On Thu, Apr 14, 2016 at 02:41:58PM -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
On 04/20/2016 08:08 AM, Peter Zijlstra wrote:
On Thu, Apr 14, 2016 at 02:41:58PM -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
On 2016年04月20日 22:18, Peter Zijlstra wrote:
> On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
+static struct pv_node *pv_lookup_hash(struct qspinlock *lock)
+{
+ unsigned long offset, hash = hash_ptr(lock, pv_lock_hash_bits);
+ struct pv_hash_entry *he;
+
On 2016年04月20日 22:18, Peter Zijlstra wrote:
> On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
+static struct pv_node *pv_lookup_hash(struct qspinlock *lock)
+{
+ unsigned long offset, hash = hash_ptr(lock, pv_lock_hash_bits);
+ struct pv_hash_entry *he;
+
On 2016年04月20日 22:19, Peter Zijlstra wrote:
> On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
>> So there is such case that we search the whole hashtable and the lock is not
>> found. :(
>> Waiman assume that if l = null, the lock is not stored. however the lock
>> might be there
On 2016年04月20日 22:19, Peter Zijlstra wrote:
> On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
>> So there is such case that we search the whole hashtable and the lock is not
>> found. :(
>> Waiman assume that if l = null, the lock is not stored. however the lock
>> might be there
On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
> So there is such case that we search the whole hashtable and the lock is not
> found. :(
> Waiman assume that if l = null, the lock is not stored. however the lock
> might be there actually.
> But to avoid the worst case I just
On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
> So there is such case that we search the whole hashtable and the lock is not
> found. :(
> Waiman assume that if l = null, the lock is not stored. however the lock
> might be there actually.
> But to avoid the worst case I just
On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
> >> +static struct pv_node *pv_lookup_hash(struct qspinlock *lock)
> >> +{
> >> + unsigned long offset, hash = hash_ptr(lock, pv_lock_hash_bits);
> >> + struct pv_hash_entry *he;
> >> +
> >> + for_each_hash_entry(he, offset, hash) {
>
On Wed, Apr 20, 2016 at 10:15:09PM +0800, Pan Xinhui wrote:
> >> +static struct pv_node *pv_lookup_hash(struct qspinlock *lock)
> >> +{
> >> + unsigned long offset, hash = hash_ptr(lock, pv_lock_hash_bits);
> >> + struct pv_hash_entry *he;
> >> +
> >> + for_each_hash_entry(he, offset, hash) {
>
Hello Peter
On 2016年04月20日 20:08, Peter Zijlstra wrote:
> On Thu, Apr 14, 2016 at 02:41:58PM -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
Hello Peter
On 2016年04月20日 20:08, Peter Zijlstra wrote:
> On Thu, Apr 14, 2016 at 02:41:58PM -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
On Thu, Apr 14, 2016 at 02:41:58PM -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
On Thu, Apr 14, 2016 at 02:41:58PM -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
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
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
20 matches
Mail list logo