From: Waiman Long <waiman.long@hpe.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>,
linux-kernel@vger.kernel.org, x86@kernel.org,
linux-alpha@vger.kernel.org, linux-ia64@vger.kernel.org,
linux-s390@vger.kernel.org, linux-arch@vger.kernel.org,
Davidlohr Bueso <dave@stgolabs.net>,
Jason Low <jason.low2@hp.com>, Dave Chinner <david@fromorbit.com>,
Scott J Norton <scott.norton@hpe.com>,
Douglas Hatch <doug.hatch@hpe.com>
Subject: Re: [RFC PATCH-tip v2 5/6] locking/rwsem: Change RWSEM_WAITING_BIAS for better disambiguation
Date: Wed, 15 Jun 2016 15:35:47 -0400 [thread overview]
Message-ID: <5761AE13.9040107@hpe.com> (raw)
In-Reply-To: <20160615174508.GU30921@twins.programming.kicks-ass.net>
On 06/15/2016 01:45 PM, Peter Zijlstra wrote:
> On Tue, Jun 14, 2016 at 06:48:08PM -0400, Waiman Long wrote:
>> +++ b/arch/alpha/include/asm/rwsem.h
>> @@ -17,9 +17,9 @@
>> #define RWSEM_UNLOCKED_VALUE 0x0000000000000000L
>> #define RWSEM_ACTIVE_BIAS 0x0000000000000001L
>> #define RWSEM_ACTIVE_MASK 0x00000000ffffffffL
>> -#define RWSEM_WAITING_BIAS (-0x0000000100000000L)
>> +#define RWSEM_WAITING_BIAS 0xc000000000000000L
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/ia64/include/asm/rwsem.h
>> @@ -30,9 +30,9 @@
>> #define RWSEM_UNLOCKED_VALUE __IA64_UL_CONST(0x0000000000000000)
>> #define RWSEM_ACTIVE_BIAS (1L)
>> #define RWSEM_ACTIVE_MASK (0xffffffffL)
>> -#define RWSEM_WAITING_BIAS (-0x100000000L)
>> +#define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/s390/include/asm/rwsem.h
>> @@ -42,9 +42,9 @@
>> #define RWSEM_UNLOCKED_VALUE 0x0000000000000000L
>> #define RWSEM_ACTIVE_BIAS 0x0000000000000001L
>> #define RWSEM_ACTIVE_MASK 0x00000000ffffffffL
>> -#define RWSEM_WAITING_BIAS (-0x0000000100000000L)
>> +#define RWSEM_WAITING_BIAS 0xc000000000000000L
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/x86/include/asm/rwsem.h
>> @@ -41,21 +41,23 @@
>>
>> /*
>> * The bias values and the counter type limits the number of
>> - * potential readers/writers to 32767 for 32 bits and 2147483647
>> - * for 64 bits.
>> + * potential writers to 16383 for 32 bits and 1073741823 for 64 bits.
>> + * The combined readers and writers can go up to 65534 for 32-bits and
>> + * 4294967294 for 64-bits.
>> */
>>
>> #ifdef CONFIG_X86_64
>> # define RWSEM_ACTIVE_MASK 0xffffffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #else
>> # define RWSEM_ACTIVE_MASK 0x0000ffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 30))
>> #endif
>>
>> #define RWSEM_UNLOCKED_VALUE 0x00000000L
>> #define RWSEM_ACTIVE_BIAS 0x00000001L
>> -#define RWSEM_WAITING_BIAS (-RWSEM_ACTIVE_MASK-1)
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/include/asm-generic/rwsem.h
>> @@ -18,15 +18,16 @@
>> */
>> #ifdef CONFIG_64BIT
>> # define RWSEM_ACTIVE_MASK 0xffffffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #else
>> # define RWSEM_ACTIVE_MASK 0x0000ffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 30))
>> #endif
>>
>> #define RWSEM_UNLOCKED_VALUE 0x00000000L
>> #define RWSEM_ACTIVE_BIAS 0x00000001L
>> -#define RWSEM_WAITING_BIAS (-RWSEM_ACTIVE_MASK-1)
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
> Can't we collapse all that? They all seem very similar.
Yes, they are actually the same. I think we could extract the macro
definitions into asm-generic/rwsem-macros.h, for instance, and make the
architecture specific header file include the new generic header.
Cheers,
Longman
WARNING: multiple messages have this Message-ID (diff)
From: Waiman Long <waiman.long@hpe.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>,
linux-kernel@vger.kernel.org, x86@kernel.org,
linux-alpha@vger.kernel.org, linux-ia64@vger.kernel.org,
linux-s390@vger.kernel.org, linux-arch@vger.kernel.org,
Davidlohr Bueso <dave@stgolabs.net>,
Jason Low <jason.low2@hp.com>, Dave Chinner <david@fromorbit.com>,
Scott J Norton <scott.norton@hpe.com>,
Douglas Hatch <doug.hatch@hpe.com>
Subject: Re: [RFC PATCH-tip v2 5/6] locking/rwsem: Change RWSEM_WAITING_BIAS for better disambiguation
Date: Wed, 15 Jun 2016 19:35:47 +0000 [thread overview]
Message-ID: <5761AE13.9040107@hpe.com> (raw)
In-Reply-To: <20160615174508.GU30921@twins.programming.kicks-ass.net>
On 06/15/2016 01:45 PM, Peter Zijlstra wrote:
> On Tue, Jun 14, 2016 at 06:48:08PM -0400, Waiman Long wrote:
>> +++ b/arch/alpha/include/asm/rwsem.h
>> @@ -17,9 +17,9 @@
>> #define RWSEM_UNLOCKED_VALUE 0x0000000000000000L
>> #define RWSEM_ACTIVE_BIAS 0x0000000000000001L
>> #define RWSEM_ACTIVE_MASK 0x00000000ffffffffL
>> -#define RWSEM_WAITING_BIAS (-0x0000000100000000L)
>> +#define RWSEM_WAITING_BIAS 0xc000000000000000L
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/ia64/include/asm/rwsem.h
>> @@ -30,9 +30,9 @@
>> #define RWSEM_UNLOCKED_VALUE __IA64_UL_CONST(0x0000000000000000)
>> #define RWSEM_ACTIVE_BIAS (1L)
>> #define RWSEM_ACTIVE_MASK (0xffffffffL)
>> -#define RWSEM_WAITING_BIAS (-0x100000000L)
>> +#define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/s390/include/asm/rwsem.h
>> @@ -42,9 +42,9 @@
>> #define RWSEM_UNLOCKED_VALUE 0x0000000000000000L
>> #define RWSEM_ACTIVE_BIAS 0x0000000000000001L
>> #define RWSEM_ACTIVE_MASK 0x00000000ffffffffL
>> -#define RWSEM_WAITING_BIAS (-0x0000000100000000L)
>> +#define RWSEM_WAITING_BIAS 0xc000000000000000L
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/x86/include/asm/rwsem.h
>> @@ -41,21 +41,23 @@
>>
>> /*
>> * The bias values and the counter type limits the number of
>> - * potential readers/writers to 32767 for 32 bits and 2147483647
>> - * for 64 bits.
>> + * potential writers to 16383 for 32 bits and 1073741823 for 64 bits.
>> + * The combined readers and writers can go up to 65534 for 32-bits and
>> + * 4294967294 for 64-bits.
>> */
>>
>> #ifdef CONFIG_X86_64
>> # define RWSEM_ACTIVE_MASK 0xffffffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #else
>> # define RWSEM_ACTIVE_MASK 0x0000ffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 30))
>> #endif
>>
>> #define RWSEM_UNLOCKED_VALUE 0x00000000L
>> #define RWSEM_ACTIVE_BIAS 0x00000001L
>> -#define RWSEM_WAITING_BIAS (-RWSEM_ACTIVE_MASK-1)
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/include/asm-generic/rwsem.h
>> @@ -18,15 +18,16 @@
>> */
>> #ifdef CONFIG_64BIT
>> # define RWSEM_ACTIVE_MASK 0xffffffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #else
>> # define RWSEM_ACTIVE_MASK 0x0000ffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 30))
>> #endif
>>
>> #define RWSEM_UNLOCKED_VALUE 0x00000000L
>> #define RWSEM_ACTIVE_BIAS 0x00000001L
>> -#define RWSEM_WAITING_BIAS (-RWSEM_ACTIVE_MASK-1)
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
> Can't we collapse all that? They all seem very similar.
Yes, they are actually the same. I think we could extract the macro
definitions into asm-generic/rwsem-macros.h, for instance, and make the
architecture specific header file include the new generic header.
Cheers,
Longman
WARNING: multiple messages have this Message-ID (diff)
From: Waiman Long <waiman.long@hpe.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>, <linux-kernel@vger.kernel.org>,
<x86@kernel.org>, <linux-alpha@vger.kernel.org>,
<linux-ia64@vger.kernel.org>, <linux-s390@vger.kernel.org>,
<linux-arch@vger.kernel.org>, Davidlohr Bueso <dave@stgolabs.net>,
Jason Low <jason.low2@hp.com>, Dave Chinner <david@fromorbit.com>,
Scott J Norton <scott.norton@hpe.com>,
Douglas Hatch <doug.hatch@hpe.com>
Subject: Re: [RFC PATCH-tip v2 5/6] locking/rwsem: Change RWSEM_WAITING_BIAS for better disambiguation
Date: Wed, 15 Jun 2016 15:35:47 -0400 [thread overview]
Message-ID: <5761AE13.9040107@hpe.com> (raw)
In-Reply-To: <20160615174508.GU30921@twins.programming.kicks-ass.net>
On 06/15/2016 01:45 PM, Peter Zijlstra wrote:
> On Tue, Jun 14, 2016 at 06:48:08PM -0400, Waiman Long wrote:
>> +++ b/arch/alpha/include/asm/rwsem.h
>> @@ -17,9 +17,9 @@
>> #define RWSEM_UNLOCKED_VALUE 0x0000000000000000L
>> #define RWSEM_ACTIVE_BIAS 0x0000000000000001L
>> #define RWSEM_ACTIVE_MASK 0x00000000ffffffffL
>> -#define RWSEM_WAITING_BIAS (-0x0000000100000000L)
>> +#define RWSEM_WAITING_BIAS 0xc000000000000000L
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/ia64/include/asm/rwsem.h
>> @@ -30,9 +30,9 @@
>> #define RWSEM_UNLOCKED_VALUE __IA64_UL_CONST(0x0000000000000000)
>> #define RWSEM_ACTIVE_BIAS (1L)
>> #define RWSEM_ACTIVE_MASK (0xffffffffL)
>> -#define RWSEM_WAITING_BIAS (-0x100000000L)
>> +#define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/s390/include/asm/rwsem.h
>> @@ -42,9 +42,9 @@
>> #define RWSEM_UNLOCKED_VALUE 0x0000000000000000L
>> #define RWSEM_ACTIVE_BIAS 0x0000000000000001L
>> #define RWSEM_ACTIVE_MASK 0x00000000ffffffffL
>> -#define RWSEM_WAITING_BIAS (-0x0000000100000000L)
>> +#define RWSEM_WAITING_BIAS 0xc000000000000000L
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/arch/x86/include/asm/rwsem.h
>> @@ -41,21 +41,23 @@
>>
>> /*
>> * The bias values and the counter type limits the number of
>> - * potential readers/writers to 32767 for 32 bits and 2147483647
>> - * for 64 bits.
>> + * potential writers to 16383 for 32 bits and 1073741823 for 64 bits.
>> + * The combined readers and writers can go up to 65534 for 32-bits and
>> + * 4294967294 for 64-bits.
>> */
>>
>> #ifdef CONFIG_X86_64
>> # define RWSEM_ACTIVE_MASK 0xffffffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #else
>> # define RWSEM_ACTIVE_MASK 0x0000ffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 30))
>> #endif
>>
>> #define RWSEM_UNLOCKED_VALUE 0x00000000L
>> #define RWSEM_ACTIVE_BIAS 0x00000001L
>> -#define RWSEM_WAITING_BIAS (-RWSEM_ACTIVE_MASK-1)
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
>> +++ b/include/asm-generic/rwsem.h
>> @@ -18,15 +18,16 @@
>> */
>> #ifdef CONFIG_64BIT
>> # define RWSEM_ACTIVE_MASK 0xffffffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 62))
>> #else
>> # define RWSEM_ACTIVE_MASK 0x0000ffffL
>> +# define RWSEM_WAITING_BIAS (-(1L<< 30))
>> #endif
>>
>> #define RWSEM_UNLOCKED_VALUE 0x00000000L
>> #define RWSEM_ACTIVE_BIAS 0x00000001L
>> -#define RWSEM_WAITING_BIAS (-RWSEM_ACTIVE_MASK-1)
>> #define RWSEM_ACTIVE_READ_BIAS RWSEM_ACTIVE_BIAS
>> -#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
>> +#define RWSEM_ACTIVE_WRITE_BIAS (-RWSEM_ACTIVE_MASK)
> Can't we collapse all that? They all seem very similar.
Yes, they are actually the same. I think we could extract the macro
definitions into asm-generic/rwsem-macros.h, for instance, and make the
architecture specific header file include the new generic header.
Cheers,
Longman
next prev parent reply other threads:[~2016-06-15 19:35 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-14 22:48 [RFC PATCH-tip v2 0/6] locking/rwsem: Enable reader optimistic spinning Waiman Long
2016-06-14 22:48 ` Waiman Long
2016-06-14 22:48 ` [RFC PATCH-tip v2 1/6] locking/osq: Make lock/unlock proper acquire/release barrier Waiman Long
2016-06-14 22:48 ` Waiman Long
2016-06-15 8:04 ` Boqun Feng
2016-06-15 8:04 ` Boqun Feng
2016-06-15 17:18 ` Peter Zijlstra
2016-06-15 17:18 ` Peter Zijlstra
2016-06-15 19:01 ` Waiman Long
2016-06-15 19:01 ` Waiman Long
2016-06-15 19:01 ` Waiman Long
2016-06-16 2:19 ` Boqun Feng
2016-06-16 2:19 ` Boqun Feng
2016-06-16 10:16 ` Will Deacon
2016-06-16 10:16 ` Will Deacon
2016-06-16 21:35 ` Waiman Long
2016-06-16 21:35 ` Waiman Long
2016-06-16 21:35 ` Waiman Long
2016-06-17 0:48 ` Boqun Feng
2016-06-17 0:48 ` Boqun Feng
2016-06-17 15:26 ` Waiman Long
2016-06-17 15:26 ` Waiman Long
2016-06-17 15:26 ` Waiman Long
2016-06-17 15:45 ` Will Deacon
2016-06-17 15:45 ` Will Deacon
2016-06-17 18:17 ` Waiman Long
2016-06-17 18:17 ` Waiman Long
2016-06-17 18:17 ` Waiman Long
2016-06-18 8:46 ` Boqun Feng
2016-06-18 8:46 ` Boqun Feng
2016-06-20 7:59 ` Will Deacon
2016-06-20 7:59 ` Will Deacon
2016-06-15 16:56 ` Davidlohr Bueso
2016-06-15 16:56 ` Davidlohr Bueso
2016-06-15 17:12 ` Peter Zijlstra
2016-06-15 17:12 ` Peter Zijlstra
2016-06-15 18:27 ` Davidlohr Bueso
2016-06-15 18:27 ` Davidlohr Bueso
2016-06-15 18:40 ` Peter Zijlstra
2016-06-15 18:40 ` Peter Zijlstra
2016-06-15 18:56 ` Davidlohr Bueso
2016-06-15 18:56 ` Davidlohr Bueso
2016-06-17 1:11 ` Davidlohr Bueso
2016-06-17 1:11 ` Davidlohr Bueso
2016-06-17 14:28 ` Waiman Long
2016-06-17 14:28 ` Waiman Long
2016-06-17 14:28 ` Waiman Long
2016-06-17 16:29 ` Davidlohr Bueso
2016-06-17 16:29 ` Davidlohr Bueso
2016-06-17 16:46 ` Davidlohr Bueso
2016-06-17 16:46 ` Davidlohr Bueso
2016-06-15 19:08 ` Waiman Long
2016-06-15 19:08 ` Waiman Long
2016-06-15 19:08 ` Waiman Long
2016-06-15 20:04 ` Waiman Long
2016-06-15 20:04 ` Waiman Long
2016-06-15 20:04 ` Waiman Long
2016-06-15 21:59 ` Peter Zijlstra
2016-06-15 21:59 ` Peter Zijlstra
2016-06-14 22:48 ` [RFC PATCH-tip v2 2/6] locking/rwsem: Stop active read lock ASAP Waiman Long
2016-06-14 22:48 ` Waiman Long
2016-06-15 17:22 ` Peter Zijlstra
2016-06-15 17:22 ` Peter Zijlstra
2016-06-15 19:17 ` Waiman Long
2016-06-15 19:17 ` Waiman Long
2016-06-15 19:17 ` Waiman Long
2016-06-16 2:14 ` Davidlohr Bueso
2016-06-16 2:14 ` Davidlohr Bueso
2016-06-16 21:25 ` Waiman Long
2016-06-16 21:25 ` Waiman Long
2016-06-16 21:25 ` Waiman Long
2016-06-14 22:48 ` [RFC PATCH-tip v2 3/6] locking/rwsem: Enable count-based spinning on reader Waiman Long
2016-06-14 22:48 ` Waiman Long
2016-06-15 17:38 ` Peter Zijlstra
2016-06-15 17:38 ` Peter Zijlstra
2016-06-15 19:28 ` Waiman Long
2016-06-15 19:28 ` Waiman Long
2016-06-15 19:28 ` Waiman Long
2016-06-14 22:48 ` [RFC PATCH-tip v2 4/6] locking/rwsem: move down rwsem_down_read_failed function Waiman Long
2016-06-14 22:48 ` Waiman Long
2016-06-15 17:40 ` Peter Zijlstra
2016-06-15 17:40 ` Peter Zijlstra
2016-06-15 19:21 ` Waiman Long
2016-06-15 19:21 ` Waiman Long
2016-06-15 19:21 ` Waiman Long
2016-06-14 22:48 ` [RFC PATCH-tip v2 5/6] locking/rwsem: Change RWSEM_WAITING_BIAS for better disambiguation Waiman Long
2016-06-14 22:48 ` Waiman Long
2016-06-15 17:43 ` Peter Zijlstra
2016-06-15 17:43 ` Peter Zijlstra
2016-06-15 19:31 ` Waiman Long
2016-06-15 19:31 ` Waiman Long
2016-06-15 19:31 ` Waiman Long
2016-06-15 21:57 ` Peter Zijlstra
2016-06-15 21:57 ` Peter Zijlstra
2016-06-15 17:45 ` Peter Zijlstra
2016-06-15 17:45 ` Peter Zijlstra
2016-06-15 19:35 ` Waiman Long [this message]
2016-06-15 19:35 ` Waiman Long
2016-06-15 19:35 ` Waiman Long
2016-06-14 22:48 ` [RFC PATCH-tip v2 6/6] locking/rwsem: Enable spinning readers Waiman Long
2016-06-14 22:48 ` Waiman Long
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5761AE13.9040107@hpe.com \
--to=waiman.long@hpe.com \
--cc=dave@stgolabs.net \
--cc=david@fromorbit.com \
--cc=doug.hatch@hpe.com \
--cc=jason.low2@hp.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=scott.norton@hpe.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.