Re: [PATCH v9 04/19] qspinlock: Extract out the exchange of tail code word

2014-04-18 Thread Peter Zijlstra
On Thu, Apr 17, 2014 at 05:28:17PM -0400, Waiman Long wrote: On 04/17/2014 11:49 AM, Peter Zijlstra wrote: On Thu, Apr 17, 2014 at 11:03:56AM -0400, Waiman Long wrote: @@ -192,36 +220,25 @@ void queue_spin_lock_slowpath(struct qspinlock *lock, u32 val) node-next = NULL; /* +*

Re: [PATCH v9 04/19] qspinlock: Extract out the exchange of tail code word

2014-04-18 Thread Waiman Long
On 04/18/2014 04:15 AM, Peter Zijlstra wrote: On Thu, Apr 17, 2014 at 05:28:17PM -0400, Waiman Long wrote: On 04/17/2014 11:49 AM, Peter Zijlstra wrote: On Thu, Apr 17, 2014 at 11:03:56AM -0400, Waiman Long wrote: @@ -192,36 +220,25 @@ void queue_spin_lock_slowpath(struct qspinlock *lock, u32

Re: [PATCH v9 04/19] qspinlock: Extract out the exchange of tail code word

2014-04-18 Thread Peter Zijlstra
On Fri, Apr 18, 2014 at 01:32:47PM -0400, Waiman Long wrote: On 04/18/2014 04:15 AM, Peter Zijlstra wrote: On Thu, Apr 17, 2014 at 05:28:17PM -0400, Waiman Long wrote: On 04/17/2014 11:49 AM, Peter Zijlstra wrote: On Thu, Apr 17, 2014 at 11:03:56AM -0400, Waiman Long wrote: @@ -192,36 +220,25

Re: [PATCH v9 04/19] qspinlock: Extract out the exchange of tail code word

2014-04-18 Thread Waiman Long
On 04/18/2014 01:53 PM, Peter Zijlstra wrote: On Fri, Apr 18, 2014 at 01:32:47PM -0400, Waiman Long wrote: On 04/18/2014 04:15 AM, Peter Zijlstra wrote: On Thu, Apr 17, 2014 at 05:28:17PM -0400, Waiman Long wrote: On 04/17/2014 11:49 AM, Peter Zijlstra wrote: On Thu, Apr 17, 2014 at

[PATCH v9 04/19] qspinlock: Extract out the exchange of tail code word

2014-04-17 Thread Waiman Long
This patch extracts the logic for the exchange of new and previous tail code words into a new xchg_tail() function which can be optimized in a later patch. Signed-off-by: Waiman Long waiman.l...@hp.com --- include/asm-generic/qspinlock_types.h |2 + kernel/locking/qspinlock.c|

Re: [PATCH v9 04/19] qspinlock: Extract out the exchange of tail code word

2014-04-17 Thread Peter Zijlstra
On Thu, Apr 17, 2014 at 11:03:56AM -0400, Waiman Long wrote: @@ -192,36 +220,25 @@ void queue_spin_lock_slowpath(struct qspinlock *lock, u32 val) node-next = NULL; /* + * We touched a (possibly) cold cacheline; attempt the trylock once + * more in the hope someone

Re: [PATCH v9 04/19] qspinlock: Extract out the exchange of tail code word

2014-04-17 Thread Waiman Long
On 04/17/2014 11:49 AM, Peter Zijlstra wrote: On Thu, Apr 17, 2014 at 11:03:56AM -0400, Waiman Long wrote: @@ -192,36 +220,25 @@ void queue_spin_lock_slowpath(struct qspinlock *lock, u32 val) node-next = NULL; /* +* We touched a (possibly) cold cacheline; attempt the