Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-22 Thread Waiman Long
On 08/21/2017 03:42 PM, Peter Zijlstra wrote: > On Mon, Aug 21, 2017 at 09:25:50PM +0200, Peter Zijlstra wrote: >> On Mon, Aug 21, 2017 at 07:00:02PM +0100, Will Deacon wrote: No, I meant _from_ the LL load, not _to_ a later load. >>> Sorry, I'm still not following enough to give you a

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-22 Thread Waiman Long
On 08/21/2017 03:42 PM, Peter Zijlstra wrote: > On Mon, Aug 21, 2017 at 09:25:50PM +0200, Peter Zijlstra wrote: >> On Mon, Aug 21, 2017 at 07:00:02PM +0100, Will Deacon wrote: No, I meant _from_ the LL load, not _to_ a later load. >>> Sorry, I'm still not following enough to give you a

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-22 Thread Will Deacon
On Mon, Aug 21, 2017 at 09:25:50PM +0200, Peter Zijlstra wrote: > On Mon, Aug 21, 2017 at 07:00:02PM +0100, Will Deacon wrote: > > > No, I meant _from_ the LL load, not _to_ a later load. > > > > Sorry, I'm still not following enough to give you a definitive answer on > > that. Could you give an

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-22 Thread Will Deacon
On Mon, Aug 21, 2017 at 09:25:50PM +0200, Peter Zijlstra wrote: > On Mon, Aug 21, 2017 at 07:00:02PM +0100, Will Deacon wrote: > > > No, I meant _from_ the LL load, not _to_ a later load. > > > > Sorry, I'm still not following enough to give you a definitive answer on > > that. Could you give an

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-21 Thread Peter Zijlstra
On Mon, Aug 21, 2017 at 09:25:50PM +0200, Peter Zijlstra wrote: > On Mon, Aug 21, 2017 at 07:00:02PM +0100, Will Deacon wrote: > > > No, I meant _from_ the LL load, not _to_ a later load. > > > > Sorry, I'm still not following enough to give you a definitive answer on > > that. Could you give an

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-21 Thread Peter Zijlstra
On Mon, Aug 21, 2017 at 09:25:50PM +0200, Peter Zijlstra wrote: > On Mon, Aug 21, 2017 at 07:00:02PM +0100, Will Deacon wrote: > > > No, I meant _from_ the LL load, not _to_ a later load. > > > > Sorry, I'm still not following enough to give you a definitive answer on > > that. Could you give an

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-21 Thread Peter Zijlstra
On Mon, Aug 21, 2017 at 07:00:02PM +0100, Will Deacon wrote: > > No, I meant _from_ the LL load, not _to_ a later load. > > Sorry, I'm still not following enough to give you a definitive answer on > that. Could you give an example, please? These sequences usually run in > a loop, so the

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-21 Thread Peter Zijlstra
On Mon, Aug 21, 2017 at 07:00:02PM +0100, Will Deacon wrote: > > No, I meant _from_ the LL load, not _to_ a later load. > > Sorry, I'm still not following enough to give you a definitive answer on > that. Could you give an example, please? These sequences usually run in > a loop, so the

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-21 Thread Will Deacon
On Mon, Aug 21, 2017 at 12:55:08PM +0200, Peter Zijlstra wrote: > On Tue, Aug 15, 2017 at 07:40:35PM +0100, Will Deacon wrote: > > On Mon, Aug 14, 2017 at 08:47:11PM +0200, Peter Zijlstra wrote: > > > On Mon, Aug 14, 2017 at 01:01:22PM +0100, Will Deacon wrote: > > > > Yeah, that's right, you

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-21 Thread Will Deacon
On Mon, Aug 21, 2017 at 12:55:08PM +0200, Peter Zijlstra wrote: > On Tue, Aug 15, 2017 at 07:40:35PM +0100, Will Deacon wrote: > > On Mon, Aug 14, 2017 at 08:47:11PM +0200, Peter Zijlstra wrote: > > > On Mon, Aug 14, 2017 at 01:01:22PM +0100, Will Deacon wrote: > > > > Yeah, that's right, you

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-21 Thread Peter Zijlstra
On Tue, Aug 15, 2017 at 07:40:35PM +0100, Will Deacon wrote: > On Mon, Aug 14, 2017 at 08:47:11PM +0200, Peter Zijlstra wrote: > > On Mon, Aug 14, 2017 at 01:01:22PM +0100, Will Deacon wrote: > > > Yeah, that's right, you can't use the STXR status flag to create control > > > dependencies. > > >

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-21 Thread Peter Zijlstra
On Tue, Aug 15, 2017 at 07:40:35PM +0100, Will Deacon wrote: > On Mon, Aug 14, 2017 at 08:47:11PM +0200, Peter Zijlstra wrote: > > On Mon, Aug 14, 2017 at 01:01:22PM +0100, Will Deacon wrote: > > > Yeah, that's right, you can't use the STXR status flag to create control > > > dependencies. > > >

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-15 Thread Will Deacon
On Mon, Aug 14, 2017 at 08:47:11PM +0200, Peter Zijlstra wrote: > On Mon, Aug 14, 2017 at 01:01:22PM +0100, Will Deacon wrote: > > Yeah, that's right, you can't use the STXR status flag to create control > > dependencies. > > Just for my elucidation; you can't use it to create a control

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-15 Thread Will Deacon
On Mon, Aug 14, 2017 at 08:47:11PM +0200, Peter Zijlstra wrote: > On Mon, Aug 14, 2017 at 01:01:22PM +0100, Will Deacon wrote: > > Yeah, that's right, you can't use the STXR status flag to create control > > dependencies. > > Just for my elucidation; you can't use it to create a control

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-14 Thread Peter Zijlstra
On Mon, Aug 14, 2017 at 01:01:22PM +0100, Will Deacon wrote: > Yeah, that's right, you can't use the STXR status flag to create control > dependencies. Just for my elucidation; you can't use it to create a control dependency on the store, but you can use it to create a control dependency on the

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-14 Thread Peter Zijlstra
On Mon, Aug 14, 2017 at 01:01:22PM +0100, Will Deacon wrote: > Yeah, that's right, you can't use the STXR status flag to create control > dependencies. Just for my elucidation; you can't use it to create a control dependency on the store, but you can use it to create a control dependency on the

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-14 Thread Will Deacon
On Mon, Aug 14, 2017 at 11:01:10AM -0400, Waiman Long wrote: > On 08/14/2017 08:01 AM, Will Deacon wrote: > > On Fri, Aug 11, 2017 at 11:06:01AM +0200, Peter Zijlstra wrote: > >> On Thu, Aug 10, 2017 at 02:18:30PM -0400, Waiman Long wrote: > >>> On 08/10/2017 12:22 PM, Waiman Long wrote: > On

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-14 Thread Will Deacon
On Mon, Aug 14, 2017 at 11:01:10AM -0400, Waiman Long wrote: > On 08/14/2017 08:01 AM, Will Deacon wrote: > > On Fri, Aug 11, 2017 at 11:06:01AM +0200, Peter Zijlstra wrote: > >> On Thu, Aug 10, 2017 at 02:18:30PM -0400, Waiman Long wrote: > >>> On 08/10/2017 12:22 PM, Waiman Long wrote: > On

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-14 Thread Waiman Long
On 08/14/2017 08:01 AM, Will Deacon wrote: > On Fri, Aug 11, 2017 at 11:06:01AM +0200, Peter Zijlstra wrote: >> On Thu, Aug 10, 2017 at 02:18:30PM -0400, Waiman Long wrote: >>> On 08/10/2017 12:22 PM, Waiman Long wrote: On 08/10/2017 12:15 PM, Peter Zijlstra wrote: > Might as well do an

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-14 Thread Waiman Long
On 08/14/2017 08:01 AM, Will Deacon wrote: > On Fri, Aug 11, 2017 at 11:06:01AM +0200, Peter Zijlstra wrote: >> On Thu, Aug 10, 2017 at 02:18:30PM -0400, Waiman Long wrote: >>> On 08/10/2017 12:22 PM, Waiman Long wrote: On 08/10/2017 12:15 PM, Peter Zijlstra wrote: > Might as well do an

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-14 Thread Will Deacon
On Fri, Aug 11, 2017 at 11:06:01AM +0200, Peter Zijlstra wrote: > On Thu, Aug 10, 2017 at 02:18:30PM -0400, Waiman Long wrote: > > On 08/10/2017 12:22 PM, Waiman Long wrote: > > > On 08/10/2017 12:15 PM, Peter Zijlstra wrote: > > > >> Might as well do an explicit: > > >> > > >>

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-14 Thread Will Deacon
On Fri, Aug 11, 2017 at 11:06:01AM +0200, Peter Zijlstra wrote: > On Thu, Aug 10, 2017 at 02:18:30PM -0400, Waiman Long wrote: > > On 08/10/2017 12:22 PM, Waiman Long wrote: > > > On 08/10/2017 12:15 PM, Peter Zijlstra wrote: > > > >> Might as well do an explicit: > > >> > > >>

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-11 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 02:18:30PM -0400, Waiman Long wrote: > On 08/10/2017 12:22 PM, Waiman Long wrote: > > On 08/10/2017 12:15 PM, Peter Zijlstra wrote: > >> Might as well do an explicit: > >> > >>smp_mb__before_atomic() > >>cmpxchg_relaxed() > >>smp_mb__after_atomic() > >> > >> I

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-11 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 02:18:30PM -0400, Waiman Long wrote: > On 08/10/2017 12:22 PM, Waiman Long wrote: > > On 08/10/2017 12:15 PM, Peter Zijlstra wrote: > >> Might as well do an explicit: > >> > >>smp_mb__before_atomic() > >>cmpxchg_relaxed() > >>smp_mb__after_atomic() > >> > >> I

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Paul E. McKenney
On Thu, Aug 10, 2017 at 11:13:17AM +0200, Peter Zijlstra wrote: > On Thu, Aug 10, 2017 at 04:12:13PM +0800, Boqun Feng wrote: > > > > Or is the reason this doesn't work on PPC that its RCpc? > > So that :-) > > > Here is an example why PPC needs a sync() before the cmpxchg(): > > > >

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Paul E. McKenney
On Thu, Aug 10, 2017 at 11:13:17AM +0200, Peter Zijlstra wrote: > On Thu, Aug 10, 2017 at 04:12:13PM +0800, Boqun Feng wrote: > > > > Or is the reason this doesn't work on PPC that its RCpc? > > So that :-) > > > Here is an example why PPC needs a sync() before the cmpxchg(): > > > >

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Waiman Long
On 08/10/2017 12:22 PM, Waiman Long wrote: > On 08/10/2017 12:15 PM, Peter Zijlstra wrote: >> On Thu, Aug 10, 2017 at 09:58:57AM -0400, Waiman Long wrote: >>> On 08/10/2017 09:27 AM, Waiman Long wrote: On 08/10/2017 07:50 AM, Peter Zijlstra wrote: > On Wed, May 24, 2017 at 09:38:28AM

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Waiman Long
On 08/10/2017 12:22 PM, Waiman Long wrote: > On 08/10/2017 12:15 PM, Peter Zijlstra wrote: >> On Thu, Aug 10, 2017 at 09:58:57AM -0400, Waiman Long wrote: >>> On 08/10/2017 09:27 AM, Waiman Long wrote: On 08/10/2017 07:50 AM, Peter Zijlstra wrote: > On Wed, May 24, 2017 at 09:38:28AM

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Waiman Long
On 08/10/2017 12:15 PM, Peter Zijlstra wrote: > On Thu, Aug 10, 2017 at 09:58:57AM -0400, Waiman Long wrote: >> On 08/10/2017 09:27 AM, Waiman Long wrote: >>> On 08/10/2017 07:50 AM, Peter Zijlstra wrote: On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: > # of thread w/o

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Waiman Long
On 08/10/2017 12:15 PM, Peter Zijlstra wrote: > On Thu, Aug 10, 2017 at 09:58:57AM -0400, Waiman Long wrote: >> On 08/10/2017 09:27 AM, Waiman Long wrote: >>> On 08/10/2017 07:50 AM, Peter Zijlstra wrote: On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: > # of thread w/o

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 09:58:57AM -0400, Waiman Long wrote: > On 08/10/2017 09:27 AM, Waiman Long wrote: > > On 08/10/2017 07:50 AM, Peter Zijlstra wrote: > >> On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: > >>> # of thread w/o patchwith patch % Change > >>>

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 09:58:57AM -0400, Waiman Long wrote: > On 08/10/2017 09:27 AM, Waiman Long wrote: > > On 08/10/2017 07:50 AM, Peter Zijlstra wrote: > >> On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: > >>> # of thread w/o patchwith patch % Change > >>>

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Waiman Long
On 08/10/2017 09:27 AM, Waiman Long wrote: > On 08/10/2017 07:50 AM, Peter Zijlstra wrote: >> On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: >>> # of thread w/o patchwith patch % Change >>> --- --- >>>4

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Waiman Long
On 08/10/2017 09:27 AM, Waiman Long wrote: > On 08/10/2017 07:50 AM, Peter Zijlstra wrote: >> On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: >>> # of thread w/o patchwith patch % Change >>> --- --- >>>4

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Waiman Long
On 08/10/2017 07:50 AM, Peter Zijlstra wrote: > On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: >> # of thread w/o patchwith patch % Change >> --- --- >>4 4053.3 Mop/s 4223.7 Mop/s +4.2% >>8

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Waiman Long
On 08/10/2017 07:50 AM, Peter Zijlstra wrote: > On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: >> # of thread w/o patchwith patch % Change >> --- --- >>4 4053.3 Mop/s 4223.7 Mop/s +4.2% >>8

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Peter Zijlstra
On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: > > # of thread w/o patchwith patch % Change > --- --- >4 4053.3 Mop/s 4223.7 Mop/s +4.2% >8 3310.4 Mop/s 3406.0 Mop/s +2.9% >

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Peter Zijlstra
On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: > > # of thread w/o patchwith patch % Change > --- --- >4 4053.3 Mop/s 4223.7 Mop/s +4.2% >8 3310.4 Mop/s 3406.0 Mop/s +2.9% >

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 04:12:13PM +0800, Boqun Feng wrote: > > Or is the reason this doesn't work on PPC that its RCpc? So that :-) > Here is an example why PPC needs a sync() before the cmpxchg(): > > https://marc.info/?l=linux-kernel=144485396224519=2 > > and Paul Mckenney's detailed

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 04:12:13PM +0800, Boqun Feng wrote: > > Or is the reason this doesn't work on PPC that its RCpc? So that :-) > Here is an example why PPC needs a sync() before the cmpxchg(): > > https://marc.info/?l=linux-kernel=144485396224519=2 > > and Paul Mckenney's detailed

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Boqun Feng
On Wed, Aug 09, 2017 at 05:15:33PM +0200, Peter Zijlstra wrote: > On Wed, Aug 09, 2017 at 05:06:03PM +0200, Peter Zijlstra wrote: > > Now, ARM64 for instance plays funny games, it does something along the > > lines of: > > > > cmpxchg(ptr, old, new) > > { > > do { > > r = LL(ptr);

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-10 Thread Boqun Feng
On Wed, Aug 09, 2017 at 05:15:33PM +0200, Peter Zijlstra wrote: > On Wed, Aug 09, 2017 at 05:06:03PM +0200, Peter Zijlstra wrote: > > Now, ARM64 for instance plays funny games, it does something along the > > lines of: > > > > cmpxchg(ptr, old, new) > > { > > do { > > r = LL(ptr);

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-09 Thread Peter Zijlstra
On Wed, Aug 09, 2017 at 05:06:03PM +0200, Peter Zijlstra wrote: > Now, ARM64 for instance plays funny games, it does something along the > lines of: > > cmpxchg(ptr, old, new) > { > do { > r = LL(ptr); > if (r != old) > return r; /* no

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-09 Thread Peter Zijlstra
On Wed, Aug 09, 2017 at 05:06:03PM +0200, Peter Zijlstra wrote: > Now, ARM64 for instance plays funny games, it does something along the > lines of: > > cmpxchg(ptr, old, new) > { > do { > r = LL(ptr); > if (r != old) > return r; /* no

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-09 Thread Peter Zijlstra
On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: > @@ -361,6 +361,13 @@ static void pv_kick_node(struct qspinlock *lock, struct > mcs_spinlock *node) >* observe its next->locked value and advance itself. >* >* Matches with smp_store_mb() and cmpxchg() in

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-09 Thread Peter Zijlstra
On Wed, May 24, 2017 at 09:38:28AM -0400, Waiman Long wrote: > @@ -361,6 +361,13 @@ static void pv_kick_node(struct qspinlock *lock, struct > mcs_spinlock *node) >* observe its next->locked value and advance itself. >* >* Matches with smp_store_mb() and cmpxchg() in

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-09 Thread Waiman Long
On 05/24/2017 09:38 AM, Waiman Long wrote: > All the locking related cmpxchg's in the following functions are > replaced with the _acquire variants: > - pv_queued_spin_steal_lock() > - trylock_clear_pending() > > This change should help performance on architectures that use LL/SC. > > On a

Re: [RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-08-09 Thread Waiman Long
On 05/24/2017 09:38 AM, Waiman Long wrote: > All the locking related cmpxchg's in the following functions are > replaced with the _acquire variants: > - pv_queued_spin_steal_lock() > - trylock_clear_pending() > > This change should help performance on architectures that use LL/SC. > > On a

[RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-05-24 Thread Waiman Long
All the locking related cmpxchg's in the following functions are replaced with the _acquire variants: - pv_queued_spin_steal_lock() - trylock_clear_pending() This change should help performance on architectures that use LL/SC. On a 2-core 16-thread Power8 system with pvqspinlock explicitly

[RESEND PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-05-24 Thread Waiman Long
All the locking related cmpxchg's in the following functions are replaced with the _acquire variants: - pv_queued_spin_steal_lock() - trylock_clear_pending() This change should help performance on architectures that use LL/SC. On a 2-core 16-thread Power8 system with pvqspinlock explicitly

Re: [PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-02-27 Thread Pan Xinhui
在 2017/2/23 22:13, Waiman Long 写道: All the locking related cmpxchg's in the following functions are replaced with the _acquire variants: - pv_queued_spin_steal_lock() - trylock_clear_pending() This change should help performance on architectures that use LL/SC. On a 2-core 16-thread Power8

Re: [PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-02-27 Thread Pan Xinhui
在 2017/2/23 22:13, Waiman Long 写道: All the locking related cmpxchg's in the following functions are replaced with the _acquire variants: - pv_queued_spin_steal_lock() - trylock_clear_pending() This change should help performance on architectures that use LL/SC. On a 2-core 16-thread Power8

[PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-02-23 Thread Waiman Long
All the locking related cmpxchg's in the following functions are replaced with the _acquire variants: - pv_queued_spin_steal_lock() - trylock_clear_pending() This change should help performance on architectures that use LL/SC. On a 2-core 16-thread Power8 system with pvqspinlock explicitly

[PATCH v5] locking/pvqspinlock: Relax cmpxchg's to improve performance on some archs

2017-02-23 Thread Waiman Long
All the locking related cmpxchg's in the following functions are replaced with the _acquire variants: - pv_queued_spin_steal_lock() - trylock_clear_pending() This change should help performance on architectures that use LL/SC. On a 2-core 16-thread Power8 system with pvqspinlock explicitly