All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joel Fernandes <joelaf@google.com>
To: Will Deacon <will@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Sami Tolvanen <samitolvanen@google.com>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Kees Cook <keescook@chromium.org>, Marco Elver <elver@google.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Josh Triplett <josh@joshtriplett.org>,
	Matt Turner <mattst88@gmail.com>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Richard Henderson <rth@twiddle.net>,
	Peter Zijlstra <peterz@infradead.org>,
	Alan Stern <stern@rowland.harvard.edu>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>, Arnd Bergmann <arnd@arndb.de>,
	Boqun Feng <boqun.feng@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	"moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)" 
	<linux-arm-kernel@lists.infradead.org>,
	linux-alpha@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	"Cc: Android Kernel" <kernel-team@android.com>,
	"Joel Fernandes (Google)" <joel@joelfernandes.org>
Subject: Re: [PATCH 04/18] alpha: Override READ_ONCE() with barriered implementation
Date: Thu, 2 Jul 2020 11:07:19 -0400	[thread overview]
Message-ID: <CAJWu+ooEsf70ri4J+M5+Fkz6VrH1kN5541j71LE8=y=rmSLDJQ@mail.gmail.com> (raw)
In-Reply-To: <20200702145532.GB16999@willie-the-truck>

On Thu, Jul 2, 2020 at 10:55 AM Will Deacon <will@kernel.org> wrote:
> On Thu, Jul 02, 2020 at 10:43:55AM -0400, Joel Fernandes wrote:
> > On Tue, Jun 30, 2020 at 1:38 PM Will Deacon <will@kernel.org> wrote:
> > > diff --git a/arch/alpha/include/asm/barrier.h b/arch/alpha/include/asm/barrier.h
> > > index 92ec486a4f9e..2ecd068d91d1 100644
> > > --- a/arch/alpha/include/asm/barrier.h
> > > +++ b/arch/alpha/include/asm/barrier.h
> > > - * For example, the following code would force ordering (the initial
> > > - * value of "a" is zero, "b" is one, and "p" is "&a"):
> > > - *
> > > - * <programlisting>
> > > - *     CPU 0                           CPU 1
> > > - *
> > > - *     b = 2;
> > > - *     memory_barrier();
> > > - *     p = &b;                         q = p;
> > > - *                                     read_barrier_depends();
> > > - *                                     d = *q;
> > > - * </programlisting>
> > > - *
> > > - * because the read of "*q" depends on the read of "p" and these
> > > - * two reads are separated by a read_barrier_depends().  However,
> > > - * the following code, with the same initial values for "a" and "b":
> > > - *
> >
> > Would it be Ok to keep this example in the kernel sources? I think it
> > serves as good documentation and highlights the issue in the Alpha
> > architecture well.
>
> I'd _really_ like to remove it, as I think it only serves to confuse people
> on a topic that is confusing enough already. Paul's perfbook [1] already has
> plenty of information about this, so I don't think we need to repeat that
> here. I could add a citation, perhaps?

True, and also found that LKMM docs and the memory-barriers.txt talks
about it, so removing it here sounds good to me. Maybe a reference
here to either documentation should be Ok.

> > BTW,  do you know any architecture where speculative execution of
> > address-dependent loads can cause similar misorderings? That would be
> > pretty insane though. In Alpha's case it is not speculation but rather
> > the split local cache design as the docs mention.   The reason I ask
> > is it is pretty amusing that control-dependent loads do have such
> > misordering issues due to speculative branch execution and I wondered
> > what other games the CPUs are playing. FWIW I ran into [1] which talks
> > about analogy between memory dependence and control dependence.
>
> I think you're asking about value prediction, and the implications it would
> have on address-dependent loads where the address can itself be predicted.

Yes.

> I'm not aware of an CPUs where that is observable architecturally.

I see.

> arm64 has some load instructions that do not honour address dependencies,
> but I believe that's mainly to enable alternative cache designs for things
> like non-temporal and large vector loads.

Good to know this, thanks.

 - Joel

WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joelaf@google.com>
To: Will Deacon <will@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Sami Tolvanen <samitolvanen@google.com>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Kees Cook <keescook@chromium.org>, Marco Elver <elver@google.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Josh Triplett <josh@joshtriplett.org>,
	Matt Turner <mattst88@gmail.com>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Richard Henderson <rth@twiddle.net>,
	Peter Zijlstra <peterz@infradead.org>,
	Alan Stern <stern@rowland.harvard.edu>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>, Arnd Bergmann <arnd@arndb.de>,
	Boqun Feng <boqun.feng@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	"moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)" <linux-arm>
Subject: Re: [PATCH 04/18] alpha: Override READ_ONCE() with barriered implementation
Date: Thu, 2 Jul 2020 11:07:19 -0400	[thread overview]
Message-ID: <CAJWu+ooEsf70ri4J+M5+Fkz6VrH1kN5541j71LE8=y=rmSLDJQ@mail.gmail.com> (raw)
In-Reply-To: <20200702145532.GB16999@willie-the-truck>

On Thu, Jul 2, 2020 at 10:55 AM Will Deacon <will@kernel.org> wrote:
> On Thu, Jul 02, 2020 at 10:43:55AM -0400, Joel Fernandes wrote:
> > On Tue, Jun 30, 2020 at 1:38 PM Will Deacon <will@kernel.org> wrote:
> > > diff --git a/arch/alpha/include/asm/barrier.h b/arch/alpha/include/asm/barrier.h
> > > index 92ec486a4f9e..2ecd068d91d1 100644
> > > --- a/arch/alpha/include/asm/barrier.h
> > > +++ b/arch/alpha/include/asm/barrier.h
> > > - * For example, the following code would force ordering (the initial
> > > - * value of "a" is zero, "b" is one, and "p" is "&a"):
> > > - *
> > > - * <programlisting>
> > > - *     CPU 0                           CPU 1
> > > - *
> > > - *     b = 2;
> > > - *     memory_barrier();
> > > - *     p = &b;                         q = p;
> > > - *                                     read_barrier_depends();
> > > - *                                     d = *q;
> > > - * </programlisting>
> > > - *
> > > - * because the read of "*q" depends on the read of "p" and these
> > > - * two reads are separated by a read_barrier_depends().  However,
> > > - * the following code, with the same initial values for "a" and "b":
> > > - *
> >
> > Would it be Ok to keep this example in the kernel sources? I think it
> > serves as good documentation and highlights the issue in the Alpha
> > architecture well.
>
> I'd _really_ like to remove it, as I think it only serves to confuse people
> on a topic that is confusing enough already. Paul's perfbook [1] already has
> plenty of information about this, so I don't think we need to repeat that
> here. I could add a citation, perhaps?

True, and also found that LKMM docs and the memory-barriers.txt talks
about it, so removing it here sounds good to me. Maybe a reference
here to either documentation should be Ok.

> > BTW,  do you know any architecture where speculative execution of
> > address-dependent loads can cause similar misorderings? That would be
> > pretty insane though. In Alpha's case it is not speculation but rather
> > the split local cache design as the docs mention.   The reason I ask
> > is it is pretty amusing that control-dependent loads do have such
> > misordering issues due to speculative branch execution and I wondered
> > what other games the CPUs are playing. FWIW I ran into [1] which talks
> > about analogy between memory dependence and control dependence.
>
> I think you're asking about value prediction, and the implications it would
> have on address-dependent loads where the address can itself be predicted.

Yes.

> I'm not aware of an CPUs where that is observable architecturally.

I see.

> arm64 has some load instructions that do not honour address dependencies,
> but I believe that's mainly to enable alternative cache designs for things
> like non-temporal and large vector loads.

Good to know this, thanks.

 - Joel

WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joelaf@google.com>
To: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Jason Wang <jasowang@redhat.com>,
	virtualization@lists.linux-foundation.org,
	"Joel Fernandes \(Google\)" <joel@joelfernandes.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Alan Stern <stern@rowland.harvard.edu>,
	Sami Tolvanen <samitolvanen@google.com>,
	Matt Turner <mattst88@gmail.com>,
	"Cc: Android Kernel" <kernel-team@android.com>,
	Marco Elver <elver@google.com>, Kees Cook <keescook@chromium.org>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Boqun Feng <boqun.feng@gmail.com>,
	Josh Triplett <josh@joshtriplett.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	"moderated list:ARM64 PORT \(AARCH64 ARCHITECTURE\)"
	<linux-arm-kernel@lists.infradead.org>,
	Richard Henderson <rth@twiddle.net>,
	Nick Desaulniers <ndesaulniers@google.com>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-alpha@vger.kernel.org
Subject: Re: [PATCH 04/18] alpha: Override READ_ONCE() with barriered implementation
Date: Thu, 2 Jul 2020 11:07:19 -0400	[thread overview]
Message-ID: <CAJWu+ooEsf70ri4J+M5+Fkz6VrH1kN5541j71LE8=y=rmSLDJQ@mail.gmail.com> (raw)
In-Reply-To: <20200702145532.GB16999@willie-the-truck>

On Thu, Jul 2, 2020 at 10:55 AM Will Deacon <will@kernel.org> wrote:
> On Thu, Jul 02, 2020 at 10:43:55AM -0400, Joel Fernandes wrote:
> > On Tue, Jun 30, 2020 at 1:38 PM Will Deacon <will@kernel.org> wrote:
> > > diff --git a/arch/alpha/include/asm/barrier.h b/arch/alpha/include/asm/barrier.h
> > > index 92ec486a4f9e..2ecd068d91d1 100644
> > > --- a/arch/alpha/include/asm/barrier.h
> > > +++ b/arch/alpha/include/asm/barrier.h
> > > - * For example, the following code would force ordering (the initial
> > > - * value of "a" is zero, "b" is one, and "p" is "&a"):
> > > - *
> > > - * <programlisting>
> > > - *     CPU 0                           CPU 1
> > > - *
> > > - *     b = 2;
> > > - *     memory_barrier();
> > > - *     p = &b;                         q = p;
> > > - *                                     read_barrier_depends();
> > > - *                                     d = *q;
> > > - * </programlisting>
> > > - *
> > > - * because the read of "*q" depends on the read of "p" and these
> > > - * two reads are separated by a read_barrier_depends().  However,
> > > - * the following code, with the same initial values for "a" and "b":
> > > - *
> >
> > Would it be Ok to keep this example in the kernel sources? I think it
> > serves as good documentation and highlights the issue in the Alpha
> > architecture well.
>
> I'd _really_ like to remove it, as I think it only serves to confuse people
> on a topic that is confusing enough already. Paul's perfbook [1] already has
> plenty of information about this, so I don't think we need to repeat that
> here. I could add a citation, perhaps?

True, and also found that LKMM docs and the memory-barriers.txt talks
about it, so removing it here sounds good to me. Maybe a reference
here to either documentation should be Ok.

> > BTW,  do you know any architecture where speculative execution of
> > address-dependent loads can cause similar misorderings? That would be
> > pretty insane though. In Alpha's case it is not speculation but rather
> > the split local cache design as the docs mention.   The reason I ask
> > is it is pretty amusing that control-dependent loads do have such
> > misordering issues due to speculative branch execution and I wondered
> > what other games the CPUs are playing. FWIW I ran into [1] which talks
> > about analogy between memory dependence and control dependence.
>
> I think you're asking about value prediction, and the implications it would
> have on address-dependent loads where the address can itself be predicted.

Yes.

> I'm not aware of an CPUs where that is observable architecturally.

I see.

> arm64 has some load instructions that do not honour address dependencies,
> but I believe that's mainly to enable alternative cache designs for things
> like non-temporal and large vector loads.

Good to know this, thanks.

 - Joel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-07-02 15:07 UTC|newest]

Thread overview: 200+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-30 17:37 [PATCH 00/18] Allow architectures to override __READ_ONCE() Will Deacon
2020-06-30 17:37 ` Will Deacon
2020-06-30 17:37 ` Will Deacon
2020-06-30 17:37 ` Will Deacon
2020-06-30 17:37 ` [PATCH 01/18] tools: bpf: Use local copy of headers including uapi/linux/filter.h Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-07-01 16:38   ` Alexei Starovoitov
2020-07-01 16:38     ` Alexei Starovoitov
2020-07-01 16:38     ` Alexei Starovoitov
2020-07-01 16:38     ` Alexei Starovoitov
2020-06-30 17:37 ` [PATCH 02/18] compiler.h: Split {READ,WRITE}_ONCE definitions out into rwonce.h Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` [PATCH 02/18] compiler.h: Split {READ, WRITE}_ONCE " Will Deacon
2020-06-30 17:37   ` [PATCH 02/18] compiler.h: Split {READ,WRITE}_ONCE " Will Deacon
2020-06-30 19:11   ` Arnd Bergmann
2020-06-30 19:11     ` [PATCH 02/18] compiler.h: Split {READ, WRITE}_ONCE " Arnd Bergmann
2020-06-30 19:11     ` [PATCH 02/18] compiler.h: Split {READ,WRITE}_ONCE " Arnd Bergmann
2020-07-01 10:16     ` Will Deacon
2020-07-01 10:16       ` Will Deacon
2020-07-01 10:16       ` Will Deacon
2020-07-01 11:33       ` Arnd Bergmann
2020-07-01 11:33         ` [PATCH 02/18] compiler.h: Split {READ, WRITE}_ONCE " Arnd Bergmann
2020-07-01 11:33         ` [PATCH 02/18] compiler.h: Split {READ,WRITE}_ONCE " Arnd Bergmann
2020-06-30 17:37 ` [PATCH 03/18] asm/rwonce: Allow __READ_ONCE to be overridden by the architecture Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 04/18] alpha: Override READ_ONCE() with barriered implementation Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-07-02  9:32   ` Mark Rutland
2020-07-02  9:32     ` Mark Rutland
2020-07-02  9:32     ` Mark Rutland
2020-07-02  9:32     ` Mark Rutland
2020-07-02  9:48     ` Will Deacon
2020-07-02  9:48       ` Will Deacon
2020-07-02  9:48       ` Will Deacon
2020-07-02  9:48       ` Will Deacon
2020-07-02 10:08       ` Arnd Bergmann
2020-07-02 10:08         ` Arnd Bergmann
2020-07-02 10:08         ` Arnd Bergmann
2020-07-02 11:18         ` Will Deacon
2020-07-02 11:18           ` Will Deacon
2020-07-02 11:18           ` Will Deacon
2020-07-02 11:39           ` Arnd Bergmann
2020-07-02 11:39             ` Arnd Bergmann
2020-07-02 11:39             ` Arnd Bergmann
2020-07-02 14:43   ` Joel Fernandes
2020-07-02 14:43     ` Joel Fernandes
2020-07-02 14:43     ` Joel Fernandes
2020-07-02 14:55     ` Will Deacon
2020-07-02 14:55       ` Will Deacon
2020-07-02 14:55       ` Will Deacon
2020-07-02 15:07       ` Joel Fernandes [this message]
2020-07-02 15:07         ` Joel Fernandes
2020-07-02 15:07         ` Joel Fernandes
2020-06-30 17:37 ` [PATCH 05/18] asm/rwonce: Remove smp_read_barrier_depends() invocation Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 06/18] vhost: Remove redundant use of read_barrier_depends() barrier Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 07/18] alpha: Replace smp_read_barrier_depends() usage with smp_[r]mb() Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 08/18] locking/barriers: Remove definitions for [smp_]read_barrier_depends() Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 09/18] Documentation/barriers: Remove references to [smp_]read_barrier_depends() Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 10/18] Documentation/barriers/kokr: " Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 11/18] tools/memory-model: Remove smp_read_barrier_depends() from informal doc Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 12/18] include/linux: Remove smp_read_barrier_depends() from comments Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 13/18] checkpatch: Remove checks relating to [smp_]read_barrier_depends() Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 14/18] arm64: Reduce the number of header files pulled into vmlinux.lds.S Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 15/18] arm64: alternatives: Split up alternative.h Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 16/18] arm64: cpufeatures: Add capability for LDAPR instruction Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 17/18] arm64: alternatives: Remove READ_ONCE() usage during patch operation Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37 ` [PATCH 18/18] arm64: lto: Strengthen READ_ONCE() to acquire when CLANG_LTO=y Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 17:37   ` Will Deacon
2020-06-30 19:25   ` Arnd Bergmann
2020-06-30 19:25     ` Arnd Bergmann
2020-06-30 19:25     ` Arnd Bergmann
2020-07-01 10:19     ` Will Deacon
2020-07-01 10:19       ` Will Deacon
2020-07-01 10:19       ` Will Deacon
2020-07-01 10:59       ` Arnd Bergmann
2020-07-01 10:59         ` Arnd Bergmann
2020-07-01 10:59         ` Arnd Bergmann
2020-06-30 19:47   ` Marco Elver
2020-06-30 19:47     ` Marco Elver
2020-06-30 19:47     ` Marco Elver
2020-06-30 20:20     ` Peter Zijlstra
2020-06-30 20:20       ` Peter Zijlstra
2020-06-30 20:20       ` Peter Zijlstra
2020-06-30 22:57     ` Sami Tolvanen
2020-06-30 22:57       ` Sami Tolvanen
2020-06-30 22:57       ` Sami Tolvanen
2020-07-01 10:25       ` Will Deacon
2020-07-01 10:25         ` Will Deacon
2020-07-01 10:25         ` Will Deacon
2020-07-01 10:24     ` Will Deacon
2020-07-01 10:24       ` Will Deacon
2020-07-01 10:24       ` Will Deacon
2020-07-01 17:07   ` Dave P Martin
2020-07-01 17:07     ` Dave P Martin
2020-07-01 17:07     ` Dave P Martin
2020-07-02  7:23     ` Will Deacon
2020-07-02  7:23       ` Will Deacon
2020-07-02  7:23       ` Will Deacon
2020-07-06 16:00       ` Dave Martin
2020-07-06 16:00         ` Dave Martin
2020-07-06 16:00         ` Dave Martin
2020-07-06 16:34         ` Paul E. McKenney
2020-07-06 16:34           ` Paul E. McKenney
2020-07-06 16:34           ` Paul E. McKenney
2020-07-06 17:05           ` Dave Martin
2020-07-06 17:05             ` Dave Martin
2020-07-06 17:05             ` Dave Martin
2020-07-06 17:05             ` Dave Martin
2020-07-06 17:36             ` Paul E. McKenney
2020-07-06 17:36               ` Paul E. McKenney
2020-07-06 17:36               ` Paul E. McKenney
2020-07-06 17:36               ` Paul E. McKenney
2020-07-07 10:29               ` Dave Martin
2020-07-07 10:29                 ` Dave Martin
2020-07-07 10:29                 ` Dave Martin
2020-07-07 10:29                 ` Dave Martin
2020-07-07 22:51                 ` Paul E. McKenney
2020-07-07 22:51                   ` Paul E. McKenney
2020-07-07 22:51                   ` Paul E. McKenney
2020-07-07 22:51                   ` Paul E. McKenney
2020-07-07 23:01                   ` Nick Desaulniers
2020-07-07 23:01                     ` Nick Desaulniers
2020-07-08  7:15                     ` Marco Elver
2020-07-08  7:15                       ` Marco Elver
2020-07-08  7:15                       ` Marco Elver
2020-07-08  9:16                     ` Peter Zijlstra
2020-07-08  9:16                       ` Peter Zijlstra
2020-07-08  9:16                       ` Peter Zijlstra
2020-07-08 18:20                       ` Paul E. McKenney
2020-07-08 18:20                         ` Paul E. McKenney
2020-07-08 18:20                         ` Paul E. McKenney
2020-07-06 18:35         ` Will Deacon
2020-07-06 18:35           ` Will Deacon
2020-07-06 18:35           ` Will Deacon
2020-07-06 19:23           ` Marco Elver
2020-07-06 19:23             ` Marco Elver
2020-07-06 19:23             ` Marco Elver
2020-07-06 19:42             ` Paul E. McKenney
2020-07-06 19:42               ` Paul E. McKenney
2020-07-06 19:42               ` Paul E. McKenney
2020-07-06 19:42               ` Paul E. McKenney
2020-07-06 16:08   ` Dave Martin
2020-07-06 16:08     ` Dave Martin
2020-07-06 16:08     ` Dave Martin
2020-07-06 18:35     ` Will Deacon
2020-07-06 18:35       ` Will Deacon
2020-07-06 18:35       ` Will Deacon
2020-07-07 10:10       ` Dave Martin
2020-07-07 10:10         ` Dave Martin
2020-07-07 10:10         ` Dave Martin
2020-07-01  7:38 ` [PATCH 00/18] Allow architectures to override __READ_ONCE() Josh Triplett
2020-07-01  7:38   ` Josh Triplett
2020-07-01  7:38   ` Josh Triplett
2020-07-01  7:38   ` Josh Triplett

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='CAJWu+ooEsf70ri4J+M5+Fkz6VrH1kN5541j71LE8=y=rmSLDJQ@mail.gmail.com' \
    --to=joelaf@google.com \
    --cc=arnd@arndb.de \
    --cc=boqun.feng@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=elver@google.com \
    --cc=ink@jurassic.park.msu.ru \
    --cc=jasowang@redhat.com \
    --cc=joel@joelfernandes.org \
    --cc=josh@joshtriplett.org \
    --cc=keescook@chromium.org \
    --cc=kernel-team@android.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mattst88@gmail.com \
    --cc=mst@redhat.com \
    --cc=ndesaulniers@google.com \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rth@twiddle.net \
    --cc=samitolvanen@google.com \
    --cc=stern@rowland.harvard.edu \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=will@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.