From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Peter Hurley <peter@hurleysoftware.com>
Cc: Jakub Jelinek <jakub@redhat.com>,
linux-arch@vger.kernel.org, Tony Luck <tony.luck@intel.com>,
linux-ia64@vger.kernel.org, Oleg Nesterov <oleg@redhat.com>,
linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org, Miroslav Franc <mfranc@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: bit fields && data tearing
Date: Thu, 04 Sep 2014 09:11:33 +1000 [thread overview]
Message-ID: <1409785893.30640.118.camel@pasglop> (raw)
In-Reply-To: <54079B70.4050200@hurleysoftware.com>
On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote:
> Apologies for hijacking this thread but I need to extend this discussion
> somewhat regarding what a compiler might do with adjacent fields in a structure.
>
> The tty subsystem defines a large aggregate structure, struct tty_struct.
> Importantly, several different locks apply to different fields within that
> structure; ie., a specific spinlock will be claimed before updating or accessing
> certain fields while a different spinlock will be claimed before updating or
> accessing certain _adjacent_ fields.
>
> What is necessary and sufficient to prevent accidental false-sharing?
> The patch below was flagged as insufficient on ia64, and possibly ARM.
We expect native aligned scalar types to be accessed atomically (the
read/modify/write of a larger quantity that gcc does on some bitfield
cases has been flagged as a gcc bug, but shouldn't happen on normal
scalar types).
I am not 100% certain of "bool" here, I assume it's treated as a normal
scalar and thus atomic but if unsure, you can always use int.
Another option is to use the atomic bitops and make these bits in a
bitmask but that is probably unnecessary if you have locks already.
Cheers,
Ben.
> Regards,
> Peter Hurley
>
> --- >% ---
> Subject: [PATCH 21/26] tty: Convert tty_struct bitfield to bools
>
> The stopped, hw_stopped, flow_stopped and packet bits are smp-unsafe
> and interrupt-unsafe. For example,
>
> CPU 0 | CPU 1
> |
> tty->flow_stopped = 1 | tty->hw_stopped = 0
>
> One of these updates will be corrupted, as the bitwise operation
> on the bitfield is non-atomic.
>
> Ensure each flag has a separate memory location, so concurrent
> updates do not corrupt orthogonal states.
>
> Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
> ---
> include/linux/tty.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/tty.h b/include/linux/tty.h
> index 1c3316a..7cf61cb 100644
> --- a/include/linux/tty.h
> +++ b/include/linux/tty.h
> @@ -261,7 +261,10 @@ struct tty_struct {
> unsigned long flags;
> int count;
> struct winsize winsize; /* winsize_mutex */
> - unsigned char stopped:1, hw_stopped:1, flow_stopped:1, packet:1;
> + bool stopped;
> + bool hw_stopped;
> + bool flow_stopped;
> + bool packet;
> unsigned char ctrl_status; /* ctrl_lock */
> unsigned int receive_room; /* Bytes free for queue */
> int flow_change;
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Peter Hurley <peter@hurleysoftware.com>
Cc: Jakub Jelinek <jakub@redhat.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Richard Henderson <rth@twiddle.net>,
Oleg Nesterov <oleg@redhat.com>,
Miroslav Franc <mfranc@redhat.com>,
Paul Mackerras <paulus@samba.org>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
linux-arch@vger.kernel.org, Tony Luck <tony.luck@intel.com>,
linux-ia64@vger.kernel.org
Subject: Re: bit fields && data tearing
Date: Thu, 04 Sep 2014 09:11:33 +1000 [thread overview]
Message-ID: <1409785893.30640.118.camel@pasglop> (raw)
Message-ID: <20140903231133.mrUg-dwbI1gpnWZ58Qn1F7fFfcjB0MvEVVWLLQqgQRg@z> (raw)
In-Reply-To: <54079B70.4050200@hurleysoftware.com>
On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote:
> Apologies for hijacking this thread but I need to extend this discussion
> somewhat regarding what a compiler might do with adjacent fields in a structure.
>
> The tty subsystem defines a large aggregate structure, struct tty_struct.
> Importantly, several different locks apply to different fields within that
> structure; ie., a specific spinlock will be claimed before updating or accessing
> certain fields while a different spinlock will be claimed before updating or
> accessing certain _adjacent_ fields.
>
> What is necessary and sufficient to prevent accidental false-sharing?
> The patch below was flagged as insufficient on ia64, and possibly ARM.
We expect native aligned scalar types to be accessed atomically (the
read/modify/write of a larger quantity that gcc does on some bitfield
cases has been flagged as a gcc bug, but shouldn't happen on normal
scalar types).
I am not 100% certain of "bool" here, I assume it's treated as a normal
scalar and thus atomic but if unsure, you can always use int.
Another option is to use the atomic bitops and make these bits in a
bitmask but that is probably unnecessary if you have locks already.
Cheers,
Ben.
> Regards,
> Peter Hurley
>
> --- >% ---
> Subject: [PATCH 21/26] tty: Convert tty_struct bitfield to bools
>
> The stopped, hw_stopped, flow_stopped and packet bits are smp-unsafe
> and interrupt-unsafe. For example,
>
> CPU 0 | CPU 1
> |
> tty->flow_stopped = 1 | tty->hw_stopped = 0
>
> One of these updates will be corrupted, as the bitwise operation
> on the bitfield is non-atomic.
>
> Ensure each flag has a separate memory location, so concurrent
> updates do not corrupt orthogonal states.
>
> Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
> ---
> include/linux/tty.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/tty.h b/include/linux/tty.h
> index 1c3316a..7cf61cb 100644
> --- a/include/linux/tty.h
> +++ b/include/linux/tty.h
> @@ -261,7 +261,10 @@ struct tty_struct {
> unsigned long flags;
> int count;
> struct winsize winsize; /* winsize_mutex */
> - unsigned char stopped:1, hw_stopped:1, flow_stopped:1, packet:1;
> + bool stopped;
> + bool hw_stopped;
> + bool flow_stopped;
> + bool packet;
> unsigned char ctrl_status; /* ctrl_lock */
> unsigned int receive_room; /* Bytes free for queue */
> int flow_change;
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Peter Hurley <peter@hurleysoftware.com>
Cc: Jakub Jelinek <jakub@redhat.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Richard Henderson <rth@twiddle.net>,
Oleg Nesterov <oleg@redhat.com>,
Miroslav Franc <mfranc@redhat.com>,
Paul Mackerras <paulus@samba.org>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
linux-arch@vger.kernel.org, Tony Luck <tony.luck@intel.com>,
linux-ia64@vger.kernel.org
Subject: Re: bit fields && data tearing
Date: Wed, 03 Sep 2014 23:11:33 +0000 [thread overview]
Message-ID: <1409785893.30640.118.camel@pasglop> (raw)
In-Reply-To: <54079B70.4050200@hurleysoftware.com>
On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote:
> Apologies for hijacking this thread but I need to extend this discussion
> somewhat regarding what a compiler might do with adjacent fields in a structure.
>
> The tty subsystem defines a large aggregate structure, struct tty_struct.
> Importantly, several different locks apply to different fields within that
> structure; ie., a specific spinlock will be claimed before updating or accessing
> certain fields while a different spinlock will be claimed before updating or
> accessing certain _adjacent_ fields.
>
> What is necessary and sufficient to prevent accidental false-sharing?
> The patch below was flagged as insufficient on ia64, and possibly ARM.
We expect native aligned scalar types to be accessed atomically (the
read/modify/write of a larger quantity that gcc does on some bitfield
cases has been flagged as a gcc bug, but shouldn't happen on normal
scalar types).
I am not 100% certain of "bool" here, I assume it's treated as a normal
scalar and thus atomic but if unsure, you can always use int.
Another option is to use the atomic bitops and make these bits in a
bitmask but that is probably unnecessary if you have locks already.
Cheers,
Ben.
> Regards,
> Peter Hurley
>
> --- >% ---
> Subject: [PATCH 21/26] tty: Convert tty_struct bitfield to bools
>
> The stopped, hw_stopped, flow_stopped and packet bits are smp-unsafe
> and interrupt-unsafe. For example,
>
> CPU 0 | CPU 1
> |
> tty->flow_stopped = 1 | tty->hw_stopped = 0
>
> One of these updates will be corrupted, as the bitwise operation
> on the bitfield is non-atomic.
>
> Ensure each flag has a separate memory location, so concurrent
> updates do not corrupt orthogonal states.
>
> Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
> ---
> include/linux/tty.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/tty.h b/include/linux/tty.h
> index 1c3316a..7cf61cb 100644
> --- a/include/linux/tty.h
> +++ b/include/linux/tty.h
> @@ -261,7 +261,10 @@ struct tty_struct {
> unsigned long flags;
> int count;
> struct winsize winsize; /* winsize_mutex */
> - unsigned char stopped:1, hw_stopped:1, flow_stopped:1, packet:1;
> + bool stopped;
> + bool hw_stopped;
> + bool flow_stopped;
> + bool packet;
> unsigned char ctrl_status; /* ctrl_lock */
> unsigned int receive_room; /* Bytes free for queue */
> int flow_change;
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Peter Hurley <peter@hurleysoftware.com>
Cc: Jakub Jelinek <jakub@redhat.com>,
linux-arch@vger.kernel.org, Tony Luck <tony.luck@intel.com>,
linux-ia64@vger.kernel.org, Oleg Nesterov <oleg@redhat.com>,
linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org, Miroslav Franc <mfranc@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: bit fields && data tearing
Date: Thu, 04 Sep 2014 09:11:33 +1000 [thread overview]
Message-ID: <1409785893.30640.118.camel@pasglop> (raw)
In-Reply-To: <54079B70.4050200@hurleysoftware.com>
On Wed, 2014-09-03 at 18:51 -0400, Peter Hurley wrote:
> Apologies for hijacking this thread but I need to extend this discussion
> somewhat regarding what a compiler might do with adjacent fields in a structure.
>
> The tty subsystem defines a large aggregate structure, struct tty_struct.
> Importantly, several different locks apply to different fields within that
> structure; ie., a specific spinlock will be claimed before updating or accessing
> certain fields while a different spinlock will be claimed before updating or
> accessing certain _adjacent_ fields.
>
> What is necessary and sufficient to prevent accidental false-sharing?
> The patch below was flagged as insufficient on ia64, and possibly ARM.
We expect native aligned scalar types to be accessed atomically (the
read/modify/write of a larger quantity that gcc does on some bitfield
cases has been flagged as a gcc bug, but shouldn't happen on normal
scalar types).
I am not 100% certain of "bool" here, I assume it's treated as a normal
scalar and thus atomic but if unsure, you can always use int.
Another option is to use the atomic bitops and make these bits in a
bitmask but that is probably unnecessary if you have locks already.
Cheers,
Ben.
> Regards,
> Peter Hurley
>
> --- >% ---
> Subject: [PATCH 21/26] tty: Convert tty_struct bitfield to bools
>
> The stopped, hw_stopped, flow_stopped and packet bits are smp-unsafe
> and interrupt-unsafe. For example,
>
> CPU 0 | CPU 1
> |
> tty->flow_stopped = 1 | tty->hw_stopped = 0
>
> One of these updates will be corrupted, as the bitwise operation
> on the bitfield is non-atomic.
>
> Ensure each flag has a separate memory location, so concurrent
> updates do not corrupt orthogonal states.
>
> Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
> ---
> include/linux/tty.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/tty.h b/include/linux/tty.h
> index 1c3316a..7cf61cb 100644
> --- a/include/linux/tty.h
> +++ b/include/linux/tty.h
> @@ -261,7 +261,10 @@ struct tty_struct {
> unsigned long flags;
> int count;
> struct winsize winsize; /* winsize_mutex */
> - unsigned char stopped:1, hw_stopped:1, flow_stopped:1, packet:1;
> + bool stopped;
> + bool hw_stopped;
> + bool flow_stopped;
> + bool packet;
> unsigned char ctrl_status; /* ctrl_lock */
> unsigned int receive_room; /* Bytes free for queue */
> int flow_change;
next prev parent reply other threads:[~2014-09-03 23:11 UTC|newest]
Thread overview: 311+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-12 18:13 bit fields && data tearing Oleg Nesterov
2014-07-12 18:13 ` Oleg Nesterov
2014-07-12 20:51 ` Oleg Nesterov
2014-07-12 20:51 ` Oleg Nesterov
2014-07-12 23:34 ` Benjamin Herrenschmidt
2014-07-12 23:34 ` Benjamin Herrenschmidt
2014-07-13 12:29 ` Oleg Nesterov
2014-07-13 12:29 ` Oleg Nesterov
2014-07-13 13:15 ` Peter Hurley
2014-07-13 13:15 ` Peter Hurley
2014-07-13 22:25 ` Benjamin Herrenschmidt
2014-07-13 22:25 ` Benjamin Herrenschmidt
2014-07-15 13:54 ` Peter Hurley
2014-07-15 13:54 ` Peter Hurley
2014-07-15 15:02 ` Richard Henderson
2014-07-15 15:02 ` Richard Henderson
2014-09-03 22:51 ` Peter Hurley
2014-09-03 22:51 ` Peter Hurley
2014-09-03 22:51 ` Peter Hurley
2014-09-03 23:11 ` Benjamin Herrenschmidt [this message]
2014-09-03 23:11 ` Benjamin Herrenschmidt
2014-09-03 23:11 ` Benjamin Herrenschmidt
2014-09-03 23:11 ` Benjamin Herrenschmidt
2014-09-04 8:43 ` David Laight
2014-09-04 8:43 ` David Laight
2014-09-04 8:43 ` David Laight
2014-09-04 8:43 ` David Laight
2014-09-04 9:52 ` Benjamin Herrenschmidt
2014-09-04 9:52 ` Benjamin Herrenschmidt
2014-09-04 9:52 ` Benjamin Herrenschmidt
2014-09-04 22:14 ` H. Peter Anvin
2014-09-04 22:14 ` H. Peter Anvin
2014-09-04 22:14 ` H. Peter Anvin
2014-09-05 0:59 ` Peter Hurley
2014-09-05 0:59 ` Peter Hurley
2014-09-05 0:59 ` Peter Hurley
2014-09-05 2:08 ` H. Peter Anvin
2014-09-05 2:08 ` H. Peter Anvin
2014-09-05 2:08 ` H. Peter Anvin
2014-09-05 8:16 ` Michael Cree
2014-09-05 8:16 ` Michael Cree
2014-09-05 8:16 ` Michael Cree
2014-09-05 8:16 ` Michael Cree
2014-09-05 18:09 ` Paul E. McKenney
2014-09-05 18:09 ` Paul E. McKenney
2014-09-05 18:31 ` Paul E. McKenney
2014-09-05 18:31 ` Paul E. McKenney
2014-09-05 19:52 ` Peter Zijlstra
2014-09-05 19:52 ` Peter Zijlstra
2014-09-05 19:52 ` Peter Zijlstra
2014-09-05 20:01 ` Peter Hurley
2014-09-05 20:01 ` Peter Hurley
2014-09-05 20:01 ` Peter Hurley
2014-09-05 20:12 ` Peter Zijlstra
2014-09-05 20:12 ` Peter Zijlstra
2014-09-05 20:12 ` Peter Zijlstra
2014-09-05 20:15 ` H. Peter Anvin
2014-09-05 20:15 ` H. Peter Anvin
2014-09-05 20:15 ` H. Peter Anvin
2014-09-05 20:19 ` Paul E. McKenney
2014-09-05 20:19 ` Paul E. McKenney
2014-09-05 20:19 ` Paul E. McKenney
2014-09-05 18:50 ` Peter Hurley
2014-09-05 18:50 ` Peter Hurley
2014-09-05 19:05 ` Paul E. McKenney
2014-09-05 19:05 ` Paul E. McKenney
2014-09-05 19:05 ` Paul E. McKenney
2014-09-05 19:24 ` Peter Hurley
2014-09-05 19:24 ` Peter Hurley
2014-09-05 19:24 ` Peter Hurley
2014-09-05 20:09 ` Paul E. McKenney
2014-09-05 20:09 ` Paul E. McKenney
2014-09-05 20:09 ` Paul E. McKenney
2014-09-05 20:09 ` Paul E. McKenney
2014-09-05 19:38 ` Marc Gauthier
2014-09-05 19:38 ` Marc Gauthier
2014-09-05 19:38 ` Marc Gauthier
2014-09-05 20:14 ` Peter Hurley
2014-09-05 20:14 ` Peter Hurley
2014-09-05 20:14 ` Peter Hurley
2014-09-05 20:34 ` H. Peter Anvin
2014-09-05 20:34 ` H. Peter Anvin
2014-09-05 20:34 ` H. Peter Anvin
2014-09-05 20:42 ` Michael Cree
2014-09-05 20:42 ` Michael Cree
2014-09-05 20:42 ` Michael Cree
2014-09-05 20:43 ` Paul E. McKenney
2014-09-05 20:43 ` Paul E. McKenney
2014-09-05 20:43 ` Paul E. McKenney
2014-09-05 20:48 ` Thomas Gleixner
2014-09-05 20:48 ` Thomas Gleixner
2014-09-05 20:48 ` Thomas Gleixner
2014-09-05 21:05 ` Paul E. McKenney
2014-09-05 21:05 ` Paul E. McKenney
2014-09-05 21:05 ` Paul E. McKenney
2014-09-05 20:39 ` Michael Cree
2014-09-05 20:39 ` Michael Cree
2014-09-05 20:39 ` Michael Cree
2014-09-05 21:12 ` Peter Hurley
2014-09-05 21:12 ` Peter Hurley
2014-09-05 21:27 ` Michael Cree
2014-09-05 21:27 ` Michael Cree
2014-09-05 21:27 ` Michael Cree
2014-09-05 20:42 ` Paul E. McKenney
2014-09-05 20:42 ` Paul E. McKenney
2014-09-05 20:42 ` Paul E. McKenney
2014-09-05 2:08 ` H. Peter Anvin
2014-09-05 2:08 ` H. Peter Anvin
2014-09-05 2:08 ` H. Peter Anvin
2014-09-05 2:08 ` H. Peter Anvin
2014-09-05 15:31 ` Peter Hurley
2014-09-05 15:31 ` Peter Hurley
2014-09-05 15:31 ` Peter Hurley
2014-09-05 15:41 ` H. Peter Anvin
2014-09-05 15:41 ` H. Peter Anvin
2014-09-05 15:41 ` H. Peter Anvin
2014-09-08 17:52 ` One Thousand Gnomes
2014-09-08 17:52 ` One Thousand Gnomes
2014-09-08 17:52 ` One Thousand Gnomes
2014-09-08 17:59 ` H. Peter Anvin
2014-09-08 17:59 ` H. Peter Anvin
2014-09-08 17:59 ` H. Peter Anvin
2014-09-08 19:17 ` One Thousand Gnomes
2014-09-08 19:17 ` One Thousand Gnomes
2014-09-08 19:17 ` One Thousand Gnomes
2014-09-09 11:18 ` Peter Hurley
2014-09-09 11:18 ` Peter Hurley
2014-09-09 11:18 ` Peter Hurley
2014-09-08 22:47 ` Peter Hurley
2014-09-08 22:47 ` Peter Hurley
2014-09-08 22:47 ` Peter Hurley
2014-09-09 1:59 ` Paul E. McKenney
2014-09-09 1:59 ` Paul E. McKenney
2014-09-09 1:59 ` Paul E. McKenney
2014-09-09 11:14 ` Peter Hurley
2014-09-09 11:14 ` Peter Hurley
2014-09-09 11:14 ` Peter Hurley
2014-09-11 10:04 ` One Thousand Gnomes
2014-09-11 10:04 ` One Thousand Gnomes
2014-09-11 10:04 ` One Thousand Gnomes
2014-09-11 16:16 ` Paul E. McKenney
2014-09-11 16:16 ` Paul E. McKenney
2014-09-11 16:16 ` Paul E. McKenney
2014-09-11 20:01 ` Peter Hurley
2014-09-11 20:01 ` Peter Hurley
2014-09-11 20:01 ` Peter Hurley
2014-09-14 23:24 ` One Thousand Gnomes
2014-09-14 23:24 ` One Thousand Gnomes
2014-09-14 23:24 ` One Thousand Gnomes
2014-09-22 19:51 ` Paul E. McKenney
2014-09-22 19:51 ` Paul E. McKenney
2014-09-22 19:51 ` Paul E. McKenney
2014-09-23 18:19 ` Peter Hurley
2014-09-23 18:19 ` Peter Hurley
2014-09-23 18:19 ` Peter Hurley
2014-09-23 18:39 ` One Thousand Gnomes
2014-09-23 18:39 ` One Thousand Gnomes
2014-09-23 18:39 ` One Thousand Gnomes
2014-09-23 18:39 ` One Thousand Gnomes
2014-09-08 18:13 ` James Bottomley
2014-09-08 18:13 ` James Bottomley
2014-09-08 18:13 ` James Bottomley
2014-09-10 20:18 ` H. Peter Anvin
2014-09-10 20:18 ` H. Peter Anvin
2014-09-10 20:18 ` H. Peter Anvin
2014-09-10 21:10 ` Rob Landley
2014-09-10 21:10 ` Rob Landley
2014-09-10 21:10 ` Rob Landley
2014-09-04 8:57 ` Mikael Pettersson
2014-09-04 8:57 ` Mikael Pettersson
2014-09-04 8:57 ` Mikael Pettersson
2014-09-04 8:57 ` Mikael Pettersson
2014-09-04 9:09 ` Jakub Jelinek
2014-09-04 9:09 ` Jakub Jelinek
2014-09-04 9:09 ` Jakub Jelinek
2014-09-04 12:24 ` Peter Hurley
2014-09-04 12:24 ` Peter Hurley
2014-09-04 12:24 ` Peter Hurley
2014-09-04 12:29 ` Jakub Jelinek
2014-09-04 12:29 ` Jakub Jelinek
2014-09-04 12:29 ` Jakub Jelinek
2014-09-04 16:50 ` One Thousand Gnomes
2014-09-04 16:50 ` One Thousand Gnomes
2014-09-04 16:50 ` One Thousand Gnomes
2014-09-04 16:50 ` One Thousand Gnomes
2014-09-04 19:42 ` Peter Hurley
2014-09-04 19:42 ` Peter Hurley
2014-09-04 19:42 ` Peter Hurley
2014-09-04 22:16 ` H. Peter Anvin
2014-09-04 22:16 ` H. Peter Anvin
2014-09-04 22:16 ` H. Peter Anvin
2014-09-05 0:17 ` Paul E. McKenney
2014-09-05 0:17 ` Paul E. McKenney
2014-09-05 0:17 ` Paul E. McKenney
2014-09-05 1:57 ` Peter Hurley
2014-09-05 1:57 ` Peter Hurley
2014-09-05 1:57 ` Peter Hurley
2014-09-05 2:11 ` James Bottomley
2014-09-05 2:11 ` James Bottomley
2014-09-05 2:11 ` James Bottomley
2014-09-05 2:47 ` Peter Hurley
2014-09-05 2:47 ` Peter Hurley
2014-09-05 2:47 ` Peter Hurley
2014-09-05 4:06 ` Paul E. McKenney
2014-09-05 4:06 ` Paul E. McKenney
2014-09-05 4:06 ` Paul E. McKenney
2014-09-05 8:30 ` David Laight
2014-09-05 8:30 ` David Laight
2014-09-05 8:30 ` David Laight
2014-09-05 8:30 ` David Laight
2014-09-05 12:31 ` Peter Hurley
2014-09-05 12:31 ` Peter Hurley
2014-09-05 12:31 ` Peter Hurley
2014-09-05 12:37 ` David Laight
2014-09-05 12:37 ` David Laight
2014-09-05 12:37 ` David Laight
2014-09-05 12:37 ` David Laight
2014-09-05 16:17 ` Peter Hurley
2014-09-05 16:17 ` Peter Hurley
2014-09-05 16:17 ` Peter Hurley
2014-09-25 16:12 ` Pavel Machek
2014-09-25 16:12 ` Pavel Machek
2014-09-25 16:12 ` Pavel Machek
2014-09-07 5:07 ` James Bottomley
2014-09-07 5:07 ` James Bottomley
2014-09-07 5:07 ` James Bottomley
2014-09-07 16:21 ` Paul E. McKenney
2014-09-07 16:21 ` Paul E. McKenney
2014-09-07 16:21 ` Paul E. McKenney
2014-09-07 19:04 ` James Bottomley
2014-09-07 19:04 ` James Bottomley
2014-09-07 19:04 ` James Bottomley
2014-09-07 20:41 ` Peter Hurley
2014-09-07 20:41 ` Peter Hurley
2014-09-07 20:41 ` Peter Hurley
2014-09-08 5:50 ` James Bottomley
2014-09-08 5:50 ` James Bottomley
2014-09-08 5:50 ` James Bottomley
2014-09-08 20:45 ` Chris Metcalf
2014-09-08 20:45 ` Chris Metcalf
2014-09-08 20:45 ` Chris Metcalf
2014-09-08 20:45 ` Chris Metcalf
2014-09-08 22:43 ` James Bottomley
2014-09-08 22:43 ` James Bottomley
2014-09-08 22:43 ` James Bottomley
2014-09-09 2:27 ` H. Peter Anvin
2014-09-09 2:27 ` H. Peter Anvin
2014-09-09 2:27 ` H. Peter Anvin
2014-09-09 2:27 ` H. Peter Anvin
2014-09-09 8:11 ` Arnd Bergmann
2014-09-09 8:11 ` Arnd Bergmann
2014-09-09 8:11 ` Arnd Bergmann
2014-09-08 23:30 ` Peter Hurley
2014-09-08 23:30 ` Peter Hurley
2014-09-08 23:30 ` Peter Hurley
2014-09-09 2:56 ` James Bottomley
2014-09-09 2:56 ` James Bottomley
2014-09-09 2:56 ` James Bottomley
2014-09-09 3:20 ` H. Peter Anvin
2014-09-09 3:20 ` H. Peter Anvin
2014-09-09 3:20 ` H. Peter Anvin
2014-09-09 4:30 ` H. Peter Anvin
2014-09-09 4:30 ` H. Peter Anvin
2014-09-09 4:30 ` H. Peter Anvin
2014-09-09 4:30 ` H. Peter Anvin
2014-09-09 10:40 ` Peter Hurley
2014-09-09 10:40 ` Peter Hurley
2014-09-09 10:40 ` Peter Hurley
2014-09-10 21:48 ` James Bottomley
2014-09-10 21:48 ` James Bottomley
2014-09-10 21:48 ` James Bottomley
2014-09-10 23:50 ` Peter Hurley
2014-09-10 23:50 ` Peter Hurley
2014-09-10 23:50 ` Peter Hurley
2014-09-11 10:23 ` Will Deacon
2014-09-11 10:23 ` Will Deacon
2014-09-11 10:23 ` Will Deacon
2014-09-07 23:00 ` Paul E. McKenney
2014-09-07 23:00 ` Paul E. McKenney
2014-09-07 23:00 ` Paul E. McKenney
2014-09-07 23:17 ` H. Peter Anvin
2014-09-07 23:17 ` H. Peter Anvin
2014-09-07 23:17 ` H. Peter Anvin
2014-09-07 23:36 ` Paul E. McKenney
2014-09-07 23:36 ` Paul E. McKenney
2014-09-07 23:36 ` Paul E. McKenney
2014-09-07 23:39 ` H. Peter Anvin
2014-09-07 23:39 ` H. Peter Anvin
2014-09-07 23:39 ` H. Peter Anvin
2014-09-08 5:56 ` James Bottomley
2014-09-08 5:56 ` James Bottomley
2014-09-08 5:56 ` James Bottomley
2014-09-08 18:12 ` H. Peter Anvin
2014-09-08 18:12 ` H. Peter Anvin
2014-09-08 18:12 ` H. Peter Anvin
2014-09-08 19:09 ` James Bottomley
2014-09-08 19:09 ` James Bottomley
2014-09-08 19:09 ` James Bottomley
2014-09-08 19:12 ` H. Peter Anvin
2014-09-08 19:12 ` H. Peter Anvin
2014-09-08 19:12 ` H. Peter Anvin
2014-09-08 19:12 ` H. Peter Anvin
2014-09-08 19:12 ` H. Peter Anvin
2014-09-08 19:12 ` H. Peter Anvin
2014-09-08 19:12 ` H. Peter Anvin
2014-09-08 22:39 ` James Bottomley
2014-09-08 22:39 ` James Bottomley
2014-09-08 22:39 ` James Bottomley
2014-09-09 2:30 ` H. Peter Anvin
2014-09-09 2:30 ` H. Peter Anvin
2014-09-09 2:30 ` H. Peter Anvin
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=1409785893.30640.118.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=jakub@redhat.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mfranc@redhat.com \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=paulus@samba.org \
--cc=peter@hurleysoftware.com \
--cc=rth@twiddle.net \
--cc=tony.luck@intel.com \
/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.