All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Will Deacon <will.deacon@arm.com>
Cc: linux-mips@linux-mips.org, linux-ia64@vger.kernel.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	virtualization@lists.linux-foundation.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	sparclinux@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	user-mode-linux-devel@lists.sourceforge.net,
	linux-sh@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	x86@kernel.org, xen-devel@lists.xenproject.org,
	Ingo Molnar <mingo@elte.hu>,
	linux-xtensa@linux-xtensa.org, james.hogan@imgtec.com,
	Arnd Bergmann <arnd@arndb.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	adi-buildroot-devel@lists.sourceforge.net,
	Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>,
	ddaney.cavm@gmail.com, Thomas Gleixner <tglx@linutronix.de>,
	linux-metag@vger.kernel.
Subject: Re: [v3,11/41] mips: reuse asm-generic/barrier.h
Date: Tue, 26 Jan 2016 06:12:11 +0000	[thread overview]
Message-ID: <20160126061211.GK4503@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160125180234.GA26732@arm.com>

On Mon, Jan 25, 2016 at 06:02:34PM +0000, Will Deacon wrote:
> Hi Paul,
> 
> On Fri, Jan 15, 2016 at 09:39:12AM -0800, Paul E. McKenney wrote:
> > On Fri, Jan 15, 2016 at 09:55:54AM +0100, Peter Zijlstra wrote:
> > > On Thu, Jan 14, 2016 at 01:29:13PM -0800, Paul E. McKenney wrote:
> > > > So smp_mb() provides transitivity, as do pairs of smp_store_release()
> > > > and smp_read_acquire(), 
> > > 
> > > But they provide different grades of transitivity, which is where all
> > > the confusion lays.
> > > 
> > > smp_mb() is strongly/globally transitive, all CPUs will agree on the order.
> > > 
> > > Whereas the RCpc release+acquire is weakly so, only the two cpus
> > > involved in the handover will agree on the order.
> > 
> > Good point!
> > 
> > Using grace periods in place of smp_mb() also provides strong/global
> > transitivity, but also insanely high latencies.  ;-)
> > 
> > The patch below updates Documentation/memory-barriers.txt to define
> > local vs. global transitivity.  The corresponding ppcmem litmus test
> > is included below as well.
> > 
> > Should we start putting litmus tests for the various examples
> > somewhere, perhaps in a litmus-tests directory within each participating
> > architecture?  I have a pile of powerpc-related litmus tests on my laptop,
> > but they probably aren't doing all that much good there.
> 
> I too would like to have the litmus tests in the kernel so that we can
> refer to them from memory-barriers.txt. Ideally they wouldn't be targetted
> to a particular arch, however.

Agreed.  Working on it...

> > PPC local-transitive
> > ""
> > {
> > 0:r1=1; 0:r2=u; 0:r3=v; 0:r4=x; 0:r5=y; 0:r6=z;
> > 1:r1=1; 1:r2=u; 1:r3=v; 1:r4=x; 1:r5=y; 1:r6=z;
> > 2:r1=1; 2:r2=u; 2:r3=v; 2:r4=x; 2:r5=y; 2:r6=z;
> > 3:r1=1; 3:r2=u; 3:r3=v; 3:r4=x; 3:r5=y; 3:r6=z;
> > }
> >  P0           | P1           | P2           | P3           ;
> >  lwz r9,0(r4) | lwz r9,0(r5) | lwz r9,0(r6) | stw r1,0(r3) ;
> >  lwsync       | lwsync       | lwsync       | sync         ;
> >  stw r1,0(r2) | lwz r8,0(r3) | stw r1,0(r7) | lwz r9,0(r2) ;
> >  lwsync       | lwz r7,0(r2) |              |              ;
> >  stw r1,0(r5) | lwsync       |              |              ;
> >               | stw r1,0(r6) |              |              ;
> > exists
> > (* (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r8=0 /\ 3:r9=0) *)
> > (* (0:r9=1 /\ 1:r9=1 /\ 2:r9=1) *)
> > (* (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r7=0) *)
> > (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r7=0)
> 
> i.e. we should rewrite this using READ_ONCE/WRITE_ONCE and smp_mb() etc.

Yep!

> > ------------------------------------------------------------------------
> > 
> > commit 2cb4e83a1b5c89c8e39b8a64bd89269d05913e41
> > Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > Date:   Fri Jan 15 09:30:42 2016 -0800
> > 
> >     documentation: Distinguish between local and global transitivity
> >     
> >     The introduction of smp_load_acquire() and smp_store_release() had
> >     the side effect of introducing a weaker notion of transitivity:
> >     The transitivity of full smp_mb() barriers is global, but that
> >     of smp_store_release()/smp_load_acquire() chains is local.  This
> >     commit therefore introduces the notion of local transitivity and
> >     gives an example.
> >     
> >     Reported-by: Peter Zijlstra <peterz@infradead.org>
> >     Reported-by: Will Deacon <will.deacon@arm.com>
> >     Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > 
> > diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt
> > index c66ba46d8079..d8109ed99342 100644
> > --- a/Documentation/memory-barriers.txt
> > +++ b/Documentation/memory-barriers.txt
> > @@ -1318,8 +1318,82 @@ or a level of cache, CPU 2 might have early access to CPU 1's writes.
> >  General barriers are therefore required to ensure that all CPUs agree
> >  on the combined order of CPU 1's and CPU 2's accesses.
> >  
> > -To reiterate, if your code requires transitivity, use general barriers
> > -throughout.
> > +General barriers provide "global transitivity", so that all CPUs will
> > +agree on the order of operations.  In contrast, a chain of release-acquire
> > +pairs provides only "local transitivity", so that only those CPUs on
> > +the chain are guaranteed to agree on the combined order of the accesses.
> 
> Thanks for having a go at this. I tried defining something axiomatically,
> but got stuck pretty quickly. In my scheme, I used "data-directed
> transitivity" instead of "local transitivity", since the latter seems to
> be a bit of a misnomer.

I figured that "local" meant local to the CPUs participating in the
release-acquire chain.  As opposed to smp_mb() chains where the ordering
is "global" as in visible to all CPUs, whether on the chain or not.
Does that help?

> > +For example, switching to C code in deference to Herman Hollerith:
> > +
> > +	int u, v, x, y, z;
> > +
> > +	void cpu0(void)
> > +	{
> > +		r0 = smp_load_acquire(&x);
> > +		WRITE_ONCE(u, 1);
> > +		smp_store_release(&y, 1);
> > +	}
> > +
> > +	void cpu1(void)
> > +	{
> > +		r1 = smp_load_acquire(&y);
> > +		r4 = READ_ONCE(v);
> > +		r5 = READ_ONCE(u);
> > +		smp_store_release(&z, 1);
> > +	}
> > +
> > +	void cpu2(void)
> > +	{
> > +		r2 = smp_load_acquire(&z);
> > +		smp_store_release(&x, 1);
> > +	}
> > +
> > +	void cpu3(void)
> > +	{
> > +		WRITE_ONCE(v, 1);
> > +		smp_mb();
> > +		r3 = READ_ONCE(u);
> > +	}
> > +
> > +Because cpu0(), cpu1(), and cpu2() participate in a local transitive
> > +chain of smp_store_release()/smp_load_acquire() pairs, the following
> > +outcome is prohibited:
> > +
> > +	r0 = 1 && r1 = 1 && r2 = 1
> > +
> > +Furthermore, because of the release-acquire relationship between cpu0()
> > +and cpu1(), cpu1() must see cpu0()'s writes, so that the following
> > +outcome is prohibited:
> > +
> > +	r1 = 1 && r5 = 0
> > +
> > +However, the transitivity of release-acquire is local to the participating
> > +CPUs and does not apply to cpu3().  Therefore, the following outcome
> > +is possible:
> > +
> > +	r0 = 0 && r1 = 1 && r2 = 1 && r3 = 0 && r4 = 0
> 
> I think you should be completely explicit and include r5 = 1 here, too.

Good point -- I added this as an additional outcome:

	r0 = 0 && r1 = 1 && r2 = 1 && r3 = 0 && r4 = 0 && r5 = 1

> Also -- where would you add the smp_mb__after_release_acquire to fix
> (i.e. forbid) this? Immediately after cpu1()'s read of y?

That sounds plausible, but we would first have to agree on exactly
what smp_mb__after_release_acquire() did.  ;-)

> > +Although cpu0(), cpu1(), and cpu2() will see their respective reads and
> > +writes in order, CPUs not involved in the release-acquire chain might
> > +well disagree on the order.  This disagreement stems from the fact that
> > +the weak memory-barrier instructions used to implement smp_load_acquire()
> > +and smp_store_release() are not required to order prior stores against
> > +subsequent loads in all cases.  This means that cpu3() can see cpu0()'s
> > +store to u as happening -after- cpu1()'s load from v, even though
> > +both cpu0() and cpu1() agree that these two operations occurred in the
> > +intended order.
> > +
> > +However, please keep in mind that smp_load_acquire() is not magic.
> > +In particular, it simply reads from its argument with ordering.  It does
> > +-not- ensure that any particular value will be read.  Therefore, the
> > +following outcome is possible:
> > +
> > +	r0 = 0 && r1 = 0 && r2 = 0 && r5 = 0
> > +
> > +Note that this outcome can happen even on a mythical sequentially
> > +consistent system where nothing is ever reordered.
> 
> I'm not sure this last bit is strictly necessary. If somebody thinks that
> acquire/release involve some sort of implicit synchronisation, I think
> they may have bigger problems with memory-barriers.txt.

Agreed.  But unless I add text like this occasionally, such people could
easily read through much of memory-barriers.txt and think that they did
in fact understand it.  So I have to occasionally trip an assertion in
their brain.  Or try to...  :-/

							Thanx, Paul


WARNING: multiple messages have this Message-ID (diff)
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Will Deacon <will.deacon@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	linux-arch@vger.kernel.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	virtualization@lists.linux-foundation.org,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
	"H. Peter Anvin" <hpa@zytor.com>, Joe Perches <joe@perches.com>,
	David Miller <davem@davemloft.net>,
	linux-ia64@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-metag@vger.kernel.org, linux-mips@linux-mips.org,
	x86@kernel.org, user-mode-linux-devel@lists.sourceforge.net,
	adi-buildroot-devel@lists.sourceforge.net,
	linux-sh@vger.kernel.org, linux-xtensa@linux-xtensa.org,
	xen-devel@lists.xenproject.org,
	Ralf Baechle <ralf@linux-mips.org>,
	Ingo Molnar <mingo@kernel.org>,
	ddaney.cavm@gmail.com, james.hogan@imgtec.com,
	Michael Ellerman <mpe@ellerman.id.au>
Subject: Re: [v3,11/41] mips: reuse asm-generic/barrier.h
Date: Mon, 25 Jan 2016 22:12:11 -0800	[thread overview]
Message-ID: <20160126061211.GK4503@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160125180234.GA26732@arm.com>

On Mon, Jan 25, 2016 at 06:02:34PM +0000, Will Deacon wrote:
> Hi Paul,
> 
> On Fri, Jan 15, 2016 at 09:39:12AM -0800, Paul E. McKenney wrote:
> > On Fri, Jan 15, 2016 at 09:55:54AM +0100, Peter Zijlstra wrote:
> > > On Thu, Jan 14, 2016 at 01:29:13PM -0800, Paul E. McKenney wrote:
> > > > So smp_mb() provides transitivity, as do pairs of smp_store_release()
> > > > and smp_read_acquire(), 
> > > 
> > > But they provide different grades of transitivity, which is where all
> > > the confusion lays.
> > > 
> > > smp_mb() is strongly/globally transitive, all CPUs will agree on the order.
> > > 
> > > Whereas the RCpc release+acquire is weakly so, only the two cpus
> > > involved in the handover will agree on the order.
> > 
> > Good point!
> > 
> > Using grace periods in place of smp_mb() also provides strong/global
> > transitivity, but also insanely high latencies.  ;-)
> > 
> > The patch below updates Documentation/memory-barriers.txt to define
> > local vs. global transitivity.  The corresponding ppcmem litmus test
> > is included below as well.
> > 
> > Should we start putting litmus tests for the various examples
> > somewhere, perhaps in a litmus-tests directory within each participating
> > architecture?  I have a pile of powerpc-related litmus tests on my laptop,
> > but they probably aren't doing all that much good there.
> 
> I too would like to have the litmus tests in the kernel so that we can
> refer to them from memory-barriers.txt. Ideally they wouldn't be targetted
> to a particular arch, however.

Agreed.  Working on it...

> > PPC local-transitive
> > ""
> > {
> > 0:r1=1; 0:r2=u; 0:r3=v; 0:r4=x; 0:r5=y; 0:r6=z;
> > 1:r1=1; 1:r2=u; 1:r3=v; 1:r4=x; 1:r5=y; 1:r6=z;
> > 2:r1=1; 2:r2=u; 2:r3=v; 2:r4=x; 2:r5=y; 2:r6=z;
> > 3:r1=1; 3:r2=u; 3:r3=v; 3:r4=x; 3:r5=y; 3:r6=z;
> > }
> >  P0           | P1           | P2           | P3           ;
> >  lwz r9,0(r4) | lwz r9,0(r5) | lwz r9,0(r6) | stw r1,0(r3) ;
> >  lwsync       | lwsync       | lwsync       | sync         ;
> >  stw r1,0(r2) | lwz r8,0(r3) | stw r1,0(r7) | lwz r9,0(r2) ;
> >  lwsync       | lwz r7,0(r2) |              |              ;
> >  stw r1,0(r5) | lwsync       |              |              ;
> >               | stw r1,0(r6) |              |              ;
> > exists
> > (* (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r8=0 /\ 3:r9=0) *)
> > (* (0:r9=1 /\ 1:r9=1 /\ 2:r9=1) *)
> > (* (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r7=0) *)
> > (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r7=0)
> 
> i.e. we should rewrite this using READ_ONCE/WRITE_ONCE and smp_mb() etc.

Yep!

> > ------------------------------------------------------------------------
> > 
> > commit 2cb4e83a1b5c89c8e39b8a64bd89269d05913e41
> > Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > Date:   Fri Jan 15 09:30:42 2016 -0800
> > 
> >     documentation: Distinguish between local and global transitivity
> >     
> >     The introduction of smp_load_acquire() and smp_store_release() had
> >     the side effect of introducing a weaker notion of transitivity:
> >     The transitivity of full smp_mb() barriers is global, but that
> >     of smp_store_release()/smp_load_acquire() chains is local.  This
> >     commit therefore introduces the notion of local transitivity and
> >     gives an example.
> >     
> >     Reported-by: Peter Zijlstra <peterz@infradead.org>
> >     Reported-by: Will Deacon <will.deacon@arm.com>
> >     Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > 
> > diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt
> > index c66ba46d8079..d8109ed99342 100644
> > --- a/Documentation/memory-barriers.txt
> > +++ b/Documentation/memory-barriers.txt
> > @@ -1318,8 +1318,82 @@ or a level of cache, CPU 2 might have early access to CPU 1's writes.
> >  General barriers are therefore required to ensure that all CPUs agree
> >  on the combined order of CPU 1's and CPU 2's accesses.
> >  
> > -To reiterate, if your code requires transitivity, use general barriers
> > -throughout.
> > +General barriers provide "global transitivity", so that all CPUs will
> > +agree on the order of operations.  In contrast, a chain of release-acquire
> > +pairs provides only "local transitivity", so that only those CPUs on
> > +the chain are guaranteed to agree on the combined order of the accesses.
> 
> Thanks for having a go at this. I tried defining something axiomatically,
> but got stuck pretty quickly. In my scheme, I used "data-directed
> transitivity" instead of "local transitivity", since the latter seems to
> be a bit of a misnomer.

I figured that "local" meant local to the CPUs participating in the
release-acquire chain.  As opposed to smp_mb() chains where the ordering
is "global" as in visible to all CPUs, whether on the chain or not.
Does that help?

> > +For example, switching to C code in deference to Herman Hollerith:
> > +
> > +	int u, v, x, y, z;
> > +
> > +	void cpu0(void)
> > +	{
> > +		r0 = smp_load_acquire(&x);
> > +		WRITE_ONCE(u, 1);
> > +		smp_store_release(&y, 1);
> > +	}
> > +
> > +	void cpu1(void)
> > +	{
> > +		r1 = smp_load_acquire(&y);
> > +		r4 = READ_ONCE(v);
> > +		r5 = READ_ONCE(u);
> > +		smp_store_release(&z, 1);
> > +	}
> > +
> > +	void cpu2(void)
> > +	{
> > +		r2 = smp_load_acquire(&z);
> > +		smp_store_release(&x, 1);
> > +	}
> > +
> > +	void cpu3(void)
> > +	{
> > +		WRITE_ONCE(v, 1);
> > +		smp_mb();
> > +		r3 = READ_ONCE(u);
> > +	}
> > +
> > +Because cpu0(), cpu1(), and cpu2() participate in a local transitive
> > +chain of smp_store_release()/smp_load_acquire() pairs, the following
> > +outcome is prohibited:
> > +
> > +	r0 == 1 && r1 == 1 && r2 == 1
> > +
> > +Furthermore, because of the release-acquire relationship between cpu0()
> > +and cpu1(), cpu1() must see cpu0()'s writes, so that the following
> > +outcome is prohibited:
> > +
> > +	r1 == 1 && r5 == 0
> > +
> > +However, the transitivity of release-acquire is local to the participating
> > +CPUs and does not apply to cpu3().  Therefore, the following outcome
> > +is possible:
> > +
> > +	r0 == 0 && r1 == 1 && r2 == 1 && r3 == 0 && r4 == 0
> 
> I think you should be completely explicit and include r5 == 1 here, too.

Good point -- I added this as an additional outcome:

	r0 == 0 && r1 == 1 && r2 == 1 && r3 == 0 && r4 == 0 && r5 == 1

> Also -- where would you add the smp_mb__after_release_acquire to fix
> (i.e. forbid) this? Immediately after cpu1()'s read of y?

That sounds plausible, but we would first have to agree on exactly
what smp_mb__after_release_acquire() did.  ;-)

> > +Although cpu0(), cpu1(), and cpu2() will see their respective reads and
> > +writes in order, CPUs not involved in the release-acquire chain might
> > +well disagree on the order.  This disagreement stems from the fact that
> > +the weak memory-barrier instructions used to implement smp_load_acquire()
> > +and smp_store_release() are not required to order prior stores against
> > +subsequent loads in all cases.  This means that cpu3() can see cpu0()'s
> > +store to u as happening -after- cpu1()'s load from v, even though
> > +both cpu0() and cpu1() agree that these two operations occurred in the
> > +intended order.
> > +
> > +However, please keep in mind that smp_load_acquire() is not magic.
> > +In particular, it simply reads from its argument with ordering.  It does
> > +-not- ensure that any particular value will be read.  Therefore, the
> > +following outcome is possible:
> > +
> > +	r0 == 0 && r1 == 0 && r2 == 0 && r5 == 0
> > +
> > +Note that this outcome can happen even on a mythical sequentially
> > +consistent system where nothing is ever reordered.
> 
> I'm not sure this last bit is strictly necessary. If somebody thinks that
> acquire/release involve some sort of implicit synchronisation, I think
> they may have bigger problems with memory-barriers.txt.

Agreed.  But unless I add text like this occasionally, such people could
easily read through much of memory-barriers.txt and think that they did
in fact understand it.  So I have to occasionally trip an assertion in
their brain.  Or try to...  :-/

							Thanx, Paul

WARNING: multiple messages have this Message-ID (diff)
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Will Deacon <will.deacon@arm.com>
Cc: linux-mips@linux-mips.org, linux-ia64@vger.kernel.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	virtualization@lists.linux-foundation.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	sparclinux@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	user-mode-linux-devel@lists.sourceforge.net,
	linux-sh@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,
	x86@kernel.org, xen-devel@lists.xenproject.org,
	Ingo Molnar <mingo@elte.hu>,
	linux-xtensa@linux-xtensa.org, james.hogan@imgtec.com,
	Arnd Bergmann <arnd@arndb.de>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	adi-buildroot-devel@lists.sourceforge.net,
	Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>,
	ddaney.cavm@gmail.com, Thomas Gleixner <tglx@linutronix.de>,
	linux-metag@vger.kernel.
Subject: Re: [v3,11/41] mips: reuse asm-generic/barrier.h
Date: Mon, 25 Jan 2016 22:12:11 -0800	[thread overview]
Message-ID: <20160126061211.GK4503@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160125180234.GA26732@arm.com>

On Mon, Jan 25, 2016 at 06:02:34PM +0000, Will Deacon wrote:
> Hi Paul,
> 
> On Fri, Jan 15, 2016 at 09:39:12AM -0800, Paul E. McKenney wrote:
> > On Fri, Jan 15, 2016 at 09:55:54AM +0100, Peter Zijlstra wrote:
> > > On Thu, Jan 14, 2016 at 01:29:13PM -0800, Paul E. McKenney wrote:
> > > > So smp_mb() provides transitivity, as do pairs of smp_store_release()
> > > > and smp_read_acquire(), 
> > > 
> > > But they provide different grades of transitivity, which is where all
> > > the confusion lays.
> > > 
> > > smp_mb() is strongly/globally transitive, all CPUs will agree on the order.
> > > 
> > > Whereas the RCpc release+acquire is weakly so, only the two cpus
> > > involved in the handover will agree on the order.
> > 
> > Good point!
> > 
> > Using grace periods in place of smp_mb() also provides strong/global
> > transitivity, but also insanely high latencies.  ;-)
> > 
> > The patch below updates Documentation/memory-barriers.txt to define
> > local vs. global transitivity.  The corresponding ppcmem litmus test
> > is included below as well.
> > 
> > Should we start putting litmus tests for the various examples
> > somewhere, perhaps in a litmus-tests directory within each participating
> > architecture?  I have a pile of powerpc-related litmus tests on my laptop,
> > but they probably aren't doing all that much good there.
> 
> I too would like to have the litmus tests in the kernel so that we can
> refer to them from memory-barriers.txt. Ideally they wouldn't be targetted
> to a particular arch, however.

Agreed.  Working on it...

> > PPC local-transitive
> > ""
> > {
> > 0:r1=1; 0:r2=u; 0:r3=v; 0:r4=x; 0:r5=y; 0:r6=z;
> > 1:r1=1; 1:r2=u; 1:r3=v; 1:r4=x; 1:r5=y; 1:r6=z;
> > 2:r1=1; 2:r2=u; 2:r3=v; 2:r4=x; 2:r5=y; 2:r6=z;
> > 3:r1=1; 3:r2=u; 3:r3=v; 3:r4=x; 3:r5=y; 3:r6=z;
> > }
> >  P0           | P1           | P2           | P3           ;
> >  lwz r9,0(r4) | lwz r9,0(r5) | lwz r9,0(r6) | stw r1,0(r3) ;
> >  lwsync       | lwsync       | lwsync       | sync         ;
> >  stw r1,0(r2) | lwz r8,0(r3) | stw r1,0(r7) | lwz r9,0(r2) ;
> >  lwsync       | lwz r7,0(r2) |              |              ;
> >  stw r1,0(r5) | lwsync       |              |              ;
> >               | stw r1,0(r6) |              |              ;
> > exists
> > (* (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r8=0 /\ 3:r9=0) *)
> > (* (0:r9=1 /\ 1:r9=1 /\ 2:r9=1) *)
> > (* (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r7=0) *)
> > (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r7=0)
> 
> i.e. we should rewrite this using READ_ONCE/WRITE_ONCE and smp_mb() etc.

Yep!

> > ------------------------------------------------------------------------
> > 
> > commit 2cb4e83a1b5c89c8e39b8a64bd89269d05913e41
> > Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > Date:   Fri Jan 15 09:30:42 2016 -0800
> > 
> >     documentation: Distinguish between local and global transitivity
> >     
> >     The introduction of smp_load_acquire() and smp_store_release() had
> >     the side effect of introducing a weaker notion of transitivity:
> >     The transitivity of full smp_mb() barriers is global, but that
> >     of smp_store_release()/smp_load_acquire() chains is local.  This
> >     commit therefore introduces the notion of local transitivity and
> >     gives an example.
> >     
> >     Reported-by: Peter Zijlstra <peterz@infradead.org>
> >     Reported-by: Will Deacon <will.deacon@arm.com>
> >     Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > 
> > diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt
> > index c66ba46d8079..d8109ed99342 100644
> > --- a/Documentation/memory-barriers.txt
> > +++ b/Documentation/memory-barriers.txt
> > @@ -1318,8 +1318,82 @@ or a level of cache, CPU 2 might have early access to CPU 1's writes.
> >  General barriers are therefore required to ensure that all CPUs agree
> >  on the combined order of CPU 1's and CPU 2's accesses.
> >  
> > -To reiterate, if your code requires transitivity, use general barriers
> > -throughout.
> > +General barriers provide "global transitivity", so that all CPUs will
> > +agree on the order of operations.  In contrast, a chain of release-acquire
> > +pairs provides only "local transitivity", so that only those CPUs on
> > +the chain are guaranteed to agree on the combined order of the accesses.
> 
> Thanks for having a go at this. I tried defining something axiomatically,
> but got stuck pretty quickly. In my scheme, I used "data-directed
> transitivity" instead of "local transitivity", since the latter seems to
> be a bit of a misnomer.

I figured that "local" meant local to the CPUs participating in the
release-acquire chain.  As opposed to smp_mb() chains where the ordering
is "global" as in visible to all CPUs, whether on the chain or not.
Does that help?

> > +For example, switching to C code in deference to Herman Hollerith:
> > +
> > +	int u, v, x, y, z;
> > +
> > +	void cpu0(void)
> > +	{
> > +		r0 = smp_load_acquire(&x);
> > +		WRITE_ONCE(u, 1);
> > +		smp_store_release(&y, 1);
> > +	}
> > +
> > +	void cpu1(void)
> > +	{
> > +		r1 = smp_load_acquire(&y);
> > +		r4 = READ_ONCE(v);
> > +		r5 = READ_ONCE(u);
> > +		smp_store_release(&z, 1);
> > +	}
> > +
> > +	void cpu2(void)
> > +	{
> > +		r2 = smp_load_acquire(&z);
> > +		smp_store_release(&x, 1);
> > +	}
> > +
> > +	void cpu3(void)
> > +	{
> > +		WRITE_ONCE(v, 1);
> > +		smp_mb();
> > +		r3 = READ_ONCE(u);
> > +	}
> > +
> > +Because cpu0(), cpu1(), and cpu2() participate in a local transitive
> > +chain of smp_store_release()/smp_load_acquire() pairs, the following
> > +outcome is prohibited:
> > +
> > +	r0 == 1 && r1 == 1 && r2 == 1
> > +
> > +Furthermore, because of the release-acquire relationship between cpu0()
> > +and cpu1(), cpu1() must see cpu0()'s writes, so that the following
> > +outcome is prohibited:
> > +
> > +	r1 == 1 && r5 == 0
> > +
> > +However, the transitivity of release-acquire is local to the participating
> > +CPUs and does not apply to cpu3().  Therefore, the following outcome
> > +is possible:
> > +
> > +	r0 == 0 && r1 == 1 && r2 == 1 && r3 == 0 && r4 == 0
> 
> I think you should be completely explicit and include r5 == 1 here, too.

Good point -- I added this as an additional outcome:

	r0 == 0 && r1 == 1 && r2 == 1 && r3 == 0 && r4 == 0 && r5 == 1

> Also -- where would you add the smp_mb__after_release_acquire to fix
> (i.e. forbid) this? Immediately after cpu1()'s read of y?

That sounds plausible, but we would first have to agree on exactly
what smp_mb__after_release_acquire() did.  ;-)

> > +Although cpu0(), cpu1(), and cpu2() will see their respective reads and
> > +writes in order, CPUs not involved in the release-acquire chain might
> > +well disagree on the order.  This disagreement stems from the fact that
> > +the weak memory-barrier instructions used to implement smp_load_acquire()
> > +and smp_store_release() are not required to order prior stores against
> > +subsequent loads in all cases.  This means that cpu3() can see cpu0()'s
> > +store to u as happening -after- cpu1()'s load from v, even though
> > +both cpu0() and cpu1() agree that these two operations occurred in the
> > +intended order.
> > +
> > +However, please keep in mind that smp_load_acquire() is not magic.
> > +In particular, it simply reads from its argument with ordering.  It does
> > +-not- ensure that any particular value will be read.  Therefore, the
> > +following outcome is possible:
> > +
> > +	r0 == 0 && r1 == 0 && r2 == 0 && r5 == 0
> > +
> > +Note that this outcome can happen even on a mythical sequentially
> > +consistent system where nothing is ever reordered.
> 
> I'm not sure this last bit is strictly necessary. If somebody thinks that
> acquire/release involve some sort of implicit synchronisation, I think
> they may have bigger problems with memory-barriers.txt.

Agreed.  But unless I add text like this occasionally, such people could
easily read through much of memory-barriers.txt and think that they did
in fact understand it.  So I have to occasionally trip an assertion in
their brain.  Or try to...  :-/

							Thanx, Paul

WARNING: multiple messages have this Message-ID (diff)
From: paulmck@linux.vnet.ibm.com (Paul E. McKenney)
To: linux-arm-kernel@lists.infradead.org
Subject: [v3,11/41] mips: reuse asm-generic/barrier.h
Date: Mon, 25 Jan 2016 22:12:11 -0800	[thread overview]
Message-ID: <20160126061211.GK4503@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160125180234.GA26732@arm.com>

On Mon, Jan 25, 2016 at 06:02:34PM +0000, Will Deacon wrote:
> Hi Paul,
> 
> On Fri, Jan 15, 2016 at 09:39:12AM -0800, Paul E. McKenney wrote:
> > On Fri, Jan 15, 2016 at 09:55:54AM +0100, Peter Zijlstra wrote:
> > > On Thu, Jan 14, 2016 at 01:29:13PM -0800, Paul E. McKenney wrote:
> > > > So smp_mb() provides transitivity, as do pairs of smp_store_release()
> > > > and smp_read_acquire(), 
> > > 
> > > But they provide different grades of transitivity, which is where all
> > > the confusion lays.
> > > 
> > > smp_mb() is strongly/globally transitive, all CPUs will agree on the order.
> > > 
> > > Whereas the RCpc release+acquire is weakly so, only the two cpus
> > > involved in the handover will agree on the order.
> > 
> > Good point!
> > 
> > Using grace periods in place of smp_mb() also provides strong/global
> > transitivity, but also insanely high latencies.  ;-)
> > 
> > The patch below updates Documentation/memory-barriers.txt to define
> > local vs. global transitivity.  The corresponding ppcmem litmus test
> > is included below as well.
> > 
> > Should we start putting litmus tests for the various examples
> > somewhere, perhaps in a litmus-tests directory within each participating
> > architecture?  I have a pile of powerpc-related litmus tests on my laptop,
> > but they probably aren't doing all that much good there.
> 
> I too would like to have the litmus tests in the kernel so that we can
> refer to them from memory-barriers.txt. Ideally they wouldn't be targetted
> to a particular arch, however.

Agreed.  Working on it...

> > PPC local-transitive
> > ""
> > {
> > 0:r1=1; 0:r2=u; 0:r3=v; 0:r4=x; 0:r5=y; 0:r6=z;
> > 1:r1=1; 1:r2=u; 1:r3=v; 1:r4=x; 1:r5=y; 1:r6=z;
> > 2:r1=1; 2:r2=u; 2:r3=v; 2:r4=x; 2:r5=y; 2:r6=z;
> > 3:r1=1; 3:r2=u; 3:r3=v; 3:r4=x; 3:r5=y; 3:r6=z;
> > }
> >  P0           | P1           | P2           | P3           ;
> >  lwz r9,0(r4) | lwz r9,0(r5) | lwz r9,0(r6) | stw r1,0(r3) ;
> >  lwsync       | lwsync       | lwsync       | sync         ;
> >  stw r1,0(r2) | lwz r8,0(r3) | stw r1,0(r7) | lwz r9,0(r2) ;
> >  lwsync       | lwz r7,0(r2) |              |              ;
> >  stw r1,0(r5) | lwsync       |              |              ;
> >               | stw r1,0(r6) |              |              ;
> > exists
> > (* (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r8=0 /\ 3:r9=0) *)
> > (* (0:r9=1 /\ 1:r9=1 /\ 2:r9=1) *)
> > (* (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r7=0) *)
> > (0:r9=0 /\ 1:r9=1 /\ 2:r9=1 /\ 1:r7=0)
> 
> i.e. we should rewrite this using READ_ONCE/WRITE_ONCE and smp_mb() etc.

Yep!

> > ------------------------------------------------------------------------
> > 
> > commit 2cb4e83a1b5c89c8e39b8a64bd89269d05913e41
> > Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > Date:   Fri Jan 15 09:30:42 2016 -0800
> > 
> >     documentation: Distinguish between local and global transitivity
> >     
> >     The introduction of smp_load_acquire() and smp_store_release() had
> >     the side effect of introducing a weaker notion of transitivity:
> >     The transitivity of full smp_mb() barriers is global, but that
> >     of smp_store_release()/smp_load_acquire() chains is local.  This
> >     commit therefore introduces the notion of local transitivity and
> >     gives an example.
> >     
> >     Reported-by: Peter Zijlstra <peterz@infradead.org>
> >     Reported-by: Will Deacon <will.deacon@arm.com>
> >     Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> > 
> > diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt
> > index c66ba46d8079..d8109ed99342 100644
> > --- a/Documentation/memory-barriers.txt
> > +++ b/Documentation/memory-barriers.txt
> > @@ -1318,8 +1318,82 @@ or a level of cache, CPU 2 might have early access to CPU 1's writes.
> >  General barriers are therefore required to ensure that all CPUs agree
> >  on the combined order of CPU 1's and CPU 2's accesses.
> >  
> > -To reiterate, if your code requires transitivity, use general barriers
> > -throughout.
> > +General barriers provide "global transitivity", so that all CPUs will
> > +agree on the order of operations.  In contrast, a chain of release-acquire
> > +pairs provides only "local transitivity", so that only those CPUs on
> > +the chain are guaranteed to agree on the combined order of the accesses.
> 
> Thanks for having a go at this. I tried defining something axiomatically,
> but got stuck pretty quickly. In my scheme, I used "data-directed
> transitivity" instead of "local transitivity", since the latter seems to
> be a bit of a misnomer.

I figured that "local" meant local to the CPUs participating in the
release-acquire chain.  As opposed to smp_mb() chains where the ordering
is "global" as in visible to all CPUs, whether on the chain or not.
Does that help?

> > +For example, switching to C code in deference to Herman Hollerith:
> > +
> > +	int u, v, x, y, z;
> > +
> > +	void cpu0(void)
> > +	{
> > +		r0 = smp_load_acquire(&x);
> > +		WRITE_ONCE(u, 1);
> > +		smp_store_release(&y, 1);
> > +	}
> > +
> > +	void cpu1(void)
> > +	{
> > +		r1 = smp_load_acquire(&y);
> > +		r4 = READ_ONCE(v);
> > +		r5 = READ_ONCE(u);
> > +		smp_store_release(&z, 1);
> > +	}
> > +
> > +	void cpu2(void)
> > +	{
> > +		r2 = smp_load_acquire(&z);
> > +		smp_store_release(&x, 1);
> > +	}
> > +
> > +	void cpu3(void)
> > +	{
> > +		WRITE_ONCE(v, 1);
> > +		smp_mb();
> > +		r3 = READ_ONCE(u);
> > +	}
> > +
> > +Because cpu0(), cpu1(), and cpu2() participate in a local transitive
> > +chain of smp_store_release()/smp_load_acquire() pairs, the following
> > +outcome is prohibited:
> > +
> > +	r0 == 1 && r1 == 1 && r2 == 1
> > +
> > +Furthermore, because of the release-acquire relationship between cpu0()
> > +and cpu1(), cpu1() must see cpu0()'s writes, so that the following
> > +outcome is prohibited:
> > +
> > +	r1 == 1 && r5 == 0
> > +
> > +However, the transitivity of release-acquire is local to the participating
> > +CPUs and does not apply to cpu3().  Therefore, the following outcome
> > +is possible:
> > +
> > +	r0 == 0 && r1 == 1 && r2 == 1 && r3 == 0 && r4 == 0
> 
> I think you should be completely explicit and include r5 == 1 here, too.

Good point -- I added this as an additional outcome:

	r0 == 0 && r1 == 1 && r2 == 1 && r3 == 0 && r4 == 0 && r5 == 1

> Also -- where would you add the smp_mb__after_release_acquire to fix
> (i.e. forbid) this? Immediately after cpu1()'s read of y?

That sounds plausible, but we would first have to agree on exactly
what smp_mb__after_release_acquire() did.  ;-)

> > +Although cpu0(), cpu1(), and cpu2() will see their respective reads and
> > +writes in order, CPUs not involved in the release-acquire chain might
> > +well disagree on the order.  This disagreement stems from the fact that
> > +the weak memory-barrier instructions used to implement smp_load_acquire()
> > +and smp_store_release() are not required to order prior stores against
> > +subsequent loads in all cases.  This means that cpu3() can see cpu0()'s
> > +store to u as happening -after- cpu1()'s load from v, even though
> > +both cpu0() and cpu1() agree that these two operations occurred in the
> > +intended order.
> > +
> > +However, please keep in mind that smp_load_acquire() is not magic.
> > +In particular, it simply reads from its argument with ordering.  It does
> > +-not- ensure that any particular value will be read.  Therefore, the
> > +following outcome is possible:
> > +
> > +	r0 == 0 && r1 == 0 && r2 == 0 && r5 == 0
> > +
> > +Note that this outcome can happen even on a mythical sequentially
> > +consistent system where nothing is ever reordered.
> 
> I'm not sure this last bit is strictly necessary. If somebody thinks that
> acquire/release involve some sort of implicit synchronisation, I think
> they may have bigger problems with memory-barriers.txt.

Agreed.  But unless I add text like this occasionally, such people could
easily read through much of memory-barriers.txt and think that they did
in fact understand it.  So I have to occasionally trip an assertion in
their brain.  Or try to...  :-/

							Thanx, Paul

  parent reply	other threads:[~2016-01-26  6:12 UTC|newest]

Thread overview: 934+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-10 14:16 [PATCH v3 00/41] arch: barrier cleanup + barriers for virt Michael S. Tsirkin
2016-01-10 14:16 ` Michael S. Tsirkin
2016-01-10 14:16 ` Michael S. Tsirkin
2016-01-10 14:16 ` [PATCH v3 01/41] lcoking/barriers, arch: Use smp barriers in smp_store_release() Michael S. Tsirkin
2016-01-10 14:16   ` Michael S. Tsirkin
2016-01-10 14:16   ` Michael S. Tsirkin
2016-01-10 14:16   ` Michael S. Tsirkin
2016-01-12 16:28   ` Paul E. McKenney
2016-01-12 16:28   ` Paul E. McKenney
2016-01-12 16:28   ` Paul E. McKenney
2016-01-12 16:28     ` Paul E. McKenney
2016-01-12 16:28     ` Paul E. McKenney
2016-01-12 16:28     ` Paul E. McKenney
2016-01-12 18:40     ` Michael S. Tsirkin
2016-01-12 18:40       ` Michael S. Tsirkin
2016-01-12 18:40       ` Michael S. Tsirkin
2016-01-12 18:40       ` Michael S. Tsirkin
2016-01-12 18:40     ` Michael S. Tsirkin
2016-01-12 18:40     ` Michael S. Tsirkin
2016-01-10 14:16 ` Michael S. Tsirkin
2016-01-10 14:16 ` [PATCH v3 02/41] asm-generic: guard smp_store_release/load_acquire Michael S. Tsirkin
2016-01-10 14:16 ` Michael S. Tsirkin
2016-01-10 14:16 ` Michael S. Tsirkin
2016-01-10 14:16   ` Michael S. Tsirkin
2016-01-10 14:16   ` Michael S. Tsirkin
2016-01-10 14:16 ` [PATCH v3 03/41] ia64: rename nop->iosapic_nop Michael S. Tsirkin
2016-01-10 14:16   ` Michael S. Tsirkin
2016-01-10 14:16   ` Michael S. Tsirkin
2016-01-10 14:16   ` Michael S. Tsirkin
2016-01-10 14:16 ` Michael S. Tsirkin
2016-01-10 14:16 ` Michael S. Tsirkin
2016-01-10 14:17 ` [PATCH v3 04/41] ia64: reuse asm-generic/barrier.h Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
     [not found] ` <1452426622-4471-1-git-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-01-10 14:17   ` [PATCH v3 05/41] powerpc: " Michael S. Tsirkin
2016-01-10 14:17     ` Michael S. Tsirkin
2016-01-10 14:17     ` Michael S. Tsirkin
2016-01-10 14:17     ` Michael S. Tsirkin
2016-01-12 16:31     ` Paul E. McKenney
2016-01-12 16:31     ` Paul E. McKenney
2016-01-12 16:31       ` Paul E. McKenney
2016-01-12 16:31       ` Paul E. McKenney
2016-01-12 16:31       ` Paul E. McKenney
2016-01-12 16:31       ` Paul E. McKenney
2016-01-10 14:20   ` [PATCH v3 25/41] tile: define __smp_xxx Michael S. Tsirkin
2016-01-10 14:20     ` Michael S. Tsirkin
2016-01-10 14:20     ` Michael S. Tsirkin
2016-01-10 14:20     ` Michael S. Tsirkin
2016-01-10 14:17 ` [PATCH v3 05/41] powerpc: reuse asm-generic/barrier.h Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17 ` [PATCH v3 06/41] s390: " Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17 ` [PATCH v3 07/41] sparc: " Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17 ` [PATCH v3 08/41] arm: " Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17 ` [PATCH v3 09/41] arm64: " Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17 ` [PATCH v3 10/41] metag: " Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17   ` Michael S. Tsirkin
2016-01-10 14:17 ` Michael S. Tsirkin
2016-01-10 14:18 ` [PATCH v3 11/41] mips: " Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-12  1:14   ` [v3,11/41] " Leonid Yegoshin
2016-01-12  1:14     ` Leonid Yegoshin
2016-01-12  1:14     ` Leonid Yegoshin
2016-01-12  1:14     ` Leonid Yegoshin
2016-01-12  1:14     ` Leonid Yegoshin
2016-01-12  8:43     ` Michael S. Tsirkin
     [not found]     ` <56945366.2090504-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2016-01-12  8:43       ` Michael S. Tsirkin
2016-01-12  8:43         ` Michael S. Tsirkin
2016-01-12  8:43         ` Michael S. Tsirkin
2016-01-12  8:43         ` Michael S. Tsirkin
2016-01-12  9:51         ` Peter Zijlstra
2016-01-12  9:51           ` Peter Zijlstra
2016-01-12  9:51           ` Peter Zijlstra
2016-01-12  9:51           ` Peter Zijlstra
2016-01-12  9:51           ` Peter Zijlstra
2016-01-12  9:51         ` Peter Zijlstra
2016-01-12  8:43     ` Michael S. Tsirkin
2016-01-12  9:27     ` Peter Zijlstra
2016-01-12  9:27       ` Peter Zijlstra
2016-01-12  9:27       ` Peter Zijlstra
2016-01-12  9:27       ` Peter Zijlstra
2016-01-12 10:25       ` Peter Zijlstra
2016-01-12 10:25         ` Peter Zijlstra
2016-01-12 10:25         ` Peter Zijlstra
2016-01-12 10:25         ` Peter Zijlstra
2016-01-12 10:40         ` Peter Zijlstra
2016-01-12 10:40         ` Peter Zijlstra
2016-01-12 10:40           ` Peter Zijlstra
2016-01-12 10:40           ` Peter Zijlstra
2016-01-12 10:40           ` Peter Zijlstra
2016-01-12 11:41           ` Will Deacon
2016-01-12 11:41             ` Will Deacon
2016-01-12 11:41             ` Will Deacon
2016-01-12 11:41             ` Will Deacon
2016-01-12 20:45             ` Leonid Yegoshin
2016-01-12 20:45             ` Leonid Yegoshin
2016-01-12 20:45               ` Leonid Yegoshin
2016-01-12 20:45               ` Leonid Yegoshin
2016-01-12 20:45               ` Leonid Yegoshin
2016-01-12 20:45               ` Leonid Yegoshin
2016-01-12 21:40               ` Peter Zijlstra
2016-01-12 21:40                 ` Peter Zijlstra
2016-01-12 21:40                 ` Peter Zijlstra
2016-01-12 21:40                 ` Peter Zijlstra
2016-01-13  0:21                 ` Leonid Yegoshin
2016-01-13  0:21                 ` Leonid Yegoshin
2016-01-13  0:21                 ` Leonid Yegoshin
2016-01-13  0:21                   ` Leonid Yegoshin
2016-01-13  0:21                   ` Leonid Yegoshin
2016-01-13  0:21                   ` Leonid Yegoshin
2016-01-13  0:21                   ` Leonid Yegoshin
2016-01-12 21:40               ` Peter Zijlstra
2016-01-12 21:40               ` Peter Zijlstra
2016-01-13 10:45               ` Will Deacon
2016-01-13 10:45               ` Will Deacon
2016-01-13 10:45                 ` Will Deacon
2016-01-13 10:45                 ` Will Deacon
2016-01-13 10:45                 ` Will Deacon
2016-01-13 10:45                 ` Will Deacon
2016-01-13 10:45                 ` Will Deacon
2016-01-13 19:02                 ` Leonid Yegoshin
2016-01-13 19:02                 ` Leonid Yegoshin
2016-01-13 19:02                   ` Leonid Yegoshin
2016-01-13 19:02                   ` Leonid Yegoshin
2016-01-13 19:02                   ` Leonid Yegoshin
2016-01-13 19:02                   ` Leonid Yegoshin
2016-01-13 20:48                   ` Peter Zijlstra
2016-01-13 20:48                   ` Peter Zijlstra
2016-01-13 20:48                     ` Peter Zijlstra
2016-01-13 20:48                     ` Peter Zijlstra
2016-01-13 20:48                     ` Peter Zijlstra
2016-01-13 20:48                     ` Peter Zijlstra
2016-01-13 20:58                     ` Leonid Yegoshin
2016-01-13 20:58                       ` Leonid Yegoshin
2016-01-13 20:58                       ` Leonid Yegoshin
2016-01-13 20:58                       ` Leonid Yegoshin
2016-01-13 20:58                       ` Leonid Yegoshin
2016-01-13 20:58                       ` Leonid Yegoshin
     [not found]                       ` <5696BA6E.4070508-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2016-01-14 12:04                         ` Will Deacon
2016-01-14 12:04                           ` Will Deacon
2016-01-14 12:04                           ` Will Deacon
2016-01-14 12:04                           ` Will Deacon
2016-01-14 12:04                           ` Will Deacon
2016-01-14 16:16                           ` Paul E. McKenney
2016-01-14 16:16                           ` Paul E. McKenney
2016-01-14 16:16                             ` Paul E. McKenney
2016-01-14 16:16                             ` Paul E. McKenney
2016-01-14 16:16                             ` Paul E. McKenney
2016-01-14 19:42                             ` Leonid Yegoshin
2016-01-14 19:42                               ` Leonid Yegoshin
2016-01-14 19:42                               ` Leonid Yegoshin
2016-01-14 19:42                               ` Leonid Yegoshin
2016-01-14 19:42                               ` Leonid Yegoshin
2016-01-14 20:15                               ` Peter Zijlstra
2016-01-14 20:15                               ` Peter Zijlstra
2016-01-14 20:15                               ` Peter Zijlstra
2016-01-14 20:15                                 ` Peter Zijlstra
2016-01-14 20:15                                 ` Peter Zijlstra
2016-01-14 20:15                                 ` Peter Zijlstra
2016-01-14 20:15                                 ` Peter Zijlstra
2016-01-14 20:36                                 ` Paul E. McKenney
2016-01-14 20:36                                   ` Paul E. McKenney
2016-01-14 20:36                                   ` Paul E. McKenney
2016-01-14 20:36                                   ` Paul E. McKenney
2016-01-14 20:36                                 ` Paul E. McKenney
2016-01-14 20:46                                 ` Peter Zijlstra
2016-01-14 20:46                                   ` Peter Zijlstra
2016-01-14 20:46                                   ` Peter Zijlstra
2016-01-14 20:46                                   ` Peter Zijlstra
2016-01-14 20:46                                 ` Peter Zijlstra
2016-01-14 20:46                                 ` Peter Zijlstra
2016-01-14 20:46                                 ` Leonid Yegoshin
2016-01-14 20:46                                 ` Leonid Yegoshin
2016-01-14 20:46                                   ` Leonid Yegoshin
2016-01-14 20:46                                   ` Leonid Yegoshin
2016-01-14 20:46                                   ` Leonid Yegoshin
2016-01-14 20:46                                   ` Leonid Yegoshin
2016-01-14 21:34                                   ` Paul E. McKenney
2016-01-14 21:34                                   ` Paul E. McKenney
2016-01-14 21:34                                   ` Paul E. McKenney
2016-01-14 21:34                                     ` Paul E. McKenney
2016-01-14 21:34                                     ` Paul E. McKenney
2016-01-14 21:34                                     ` Paul E. McKenney
2016-01-14 21:34                                     ` Paul E. McKenney
2016-01-14 21:45                                     ` Leonid Yegoshin
2016-01-14 21:45                                       ` Leonid Yegoshin
2016-01-14 21:45                                       ` Leonid Yegoshin
2016-01-14 21:45                                       ` Leonid Yegoshin
2016-01-14 21:45                                       ` Leonid Yegoshin
2016-01-14 21:45                                       ` Leonid Yegoshin
2016-01-14 22:24                                       ` Paul E. McKenney
2016-01-14 22:24                                       ` Paul E. McKenney
2016-01-14 22:24                                         ` Paul E. McKenney
2016-01-14 22:24                                         ` Paul E. McKenney
2016-01-14 22:24                                         ` Paul E. McKenney
2016-01-14 22:24                                         ` Paul E. McKenney
2016-01-14 23:04                                         ` Leonid Yegoshin
2016-01-14 23:04                                         ` Leonid Yegoshin
2016-01-14 23:04                                           ` Leonid Yegoshin
2016-01-14 23:04                                           ` Leonid Yegoshin
2016-01-14 23:04                                           ` Leonid Yegoshin
2016-01-14 23:04                                           ` Leonid Yegoshin
2016-01-14 23:04                                           ` Leonid Yegoshin
2016-01-14 21:45                                     ` Leonid Yegoshin
2016-01-14 19:42                             ` Leonid Yegoshin
2016-01-14 20:12                           ` Leonid Yegoshin
2016-01-14 20:12                           ` Leonid Yegoshin
2016-01-14 20:12                             ` Leonid Yegoshin
2016-01-14 20:12                             ` Leonid Yegoshin
2016-01-14 20:12                             ` Leonid Yegoshin
2016-01-14 20:12                             ` Leonid Yegoshin
2016-01-14 20:48                             ` Paul E. McKenney
2016-01-14 20:48                             ` Paul E. McKenney
2016-01-14 20:48                               ` Paul E. McKenney
2016-01-14 20:48                               ` Paul E. McKenney
2016-01-14 20:48                               ` Paul E. McKenney
2016-01-14 20:48                               ` Paul E. McKenney
2016-01-14 21:24                               ` Leonid Yegoshin
2016-01-14 21:24                                 ` Leonid Yegoshin
2016-01-14 21:24                                 ` Leonid Yegoshin
2016-01-14 21:24                                 ` Leonid Yegoshin
2016-01-14 21:24                                 ` Leonid Yegoshin
2016-01-14 21:24                                 ` Leonid Yegoshin
2016-01-14 22:20                                 ` Paul E. McKenney
2016-01-14 22:20                                 ` Paul E. McKenney
2016-01-14 22:20                                   ` Paul E. McKenney
2016-01-14 22:20                                   ` Paul E. McKenney
2016-01-14 22:20                                   ` Paul E. McKenney
2016-01-14 22:20                                   ` Paul E. McKenney
2016-01-15  9:57                                   ` Will Deacon
2016-01-15  9:57                                   ` Will Deacon
2016-01-15  9:57                                     ` Will Deacon
2016-01-15  9:57                                     ` Will Deacon
2016-01-15  9:57                                     ` Will Deacon
2016-01-15 18:54                                     ` Leonid Yegoshin
2016-01-15 18:54                                     ` Leonid Yegoshin
2016-01-15 18:54                                       ` Leonid Yegoshin
2016-01-15 18:54                                       ` Leonid Yegoshin
2016-01-15 18:54                                       ` Leonid Yegoshin
2016-01-15 18:54                                       ` Leonid Yegoshin
2016-01-26 10:24                                   ` Peter Zijlstra
2016-01-26 10:24                                     ` Peter Zijlstra
2016-01-26 10:24                                     ` Peter Zijlstra
2016-01-26 10:24                                     ` Peter Zijlstra
2016-01-26 10:32                                     ` Peter Zijlstra
2016-01-26 10:32                                     ` Peter Zijlstra
2016-01-26 10:32                                       ` Peter Zijlstra
2016-01-26 10:32                                       ` Peter Zijlstra
2016-01-26 10:32                                       ` Peter Zijlstra
2016-01-26 11:09                                       ` Will Deacon
     [not found]                                       ` <20160126103200.GI6375-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2016-01-26 11:09                                         ` Will Deacon
2016-01-26 11:09                                           ` Will Deacon
2016-01-26 11:09                                           ` Will Deacon
2016-01-26 11:09                                           ` Will Deacon
2016-01-26 20:11                                           ` Paul E. McKenney
2016-01-26 20:11                                           ` Paul E. McKenney
2016-01-26 20:11                                             ` Paul E. McKenney
2016-01-26 20:11                                             ` Paul E. McKenney
2016-01-26 20:11                                             ` Paul E. McKenney
2016-01-27  8:35                                             ` [PATCH] documentation: Add disclaimer Peter Zijlstra
2016-01-27  8:35                                             ` Peter Zijlstra
2016-01-27  8:35                                               ` Peter Zijlstra
2016-01-27  8:35                                               ` Peter Zijlstra
2016-01-27  8:35                                               ` Peter Zijlstra
2016-01-27  8:35                                               ` Peter Zijlstra
2016-01-27 10:11                                               ` Will Deacon
2016-01-27 10:11                                               ` Will Deacon
2016-01-27 10:11                                                 ` Will Deacon
2016-01-27 10:11                                                 ` Will Deacon
2016-01-27 10:11                                               ` Will Deacon
2016-04-14 21:40                                               ` Paul E. McKenney
2016-04-14 21:40                                                 ` Paul E. McKenney
2016-04-14 21:40                                                 ` Paul E. McKenney
2016-04-14 21:40                                                 ` Paul E. McKenney
2016-04-14 21:40                                               ` Paul E. McKenney
2016-01-27  8:35                                             ` Peter Zijlstra
2016-01-27 14:57                                             ` David Howells
2016-01-27 14:57                                             ` David Howells
2016-01-27 14:57                                               ` David Howells
2016-01-27 14:57                                               ` David Howells
2016-01-27 14:57                                               ` David Howells
2016-01-27 14:57                                               ` David Howells
2016-01-27 23:35                                               ` Paul E. McKenney
2016-01-27 23:35                                                 ` Paul E. McKenney
2016-01-27 23:35                                                 ` Paul E. McKenney
2016-01-27 23:35                                                 ` Paul E. McKenney
2016-01-27 23:35                                               ` Paul E. McKenney
2016-01-28 20:02                                               ` David Howells
2016-01-28 20:02                                               ` David Howells
2016-01-28 20:02                                               ` David Howells
2016-01-28 20:02                                                 ` David Howells
2016-01-28 20:02                                                 ` David Howells
2016-04-14 21:40                                               ` Paul E. McKenney
2016-04-14 21:40                                               ` Paul E. McKenney
     [not found]                                               ` <15882.1453906627-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2016-04-14 21:40                                                 ` Paul E. McKenney
2016-04-14 21:40                                                   ` Paul E. McKenney
2016-04-14 21:40                                                   ` Paul E. McKenney
2016-04-14 21:40                                                   ` Paul E. McKenney
2016-01-27 14:57                                             ` David Howells
2016-01-26 11:09                                       ` [v3,11/41] mips: reuse asm-generic/barrier.h Will Deacon
2016-01-26 19:44                                     ` Paul E. McKenney
2016-01-26 19:44                                     ` Paul E. McKenney
2016-01-26 19:44                                       ` Paul E. McKenney
2016-01-26 19:44                                       ` Paul E. McKenney
2016-01-26 19:44                                       ` Paul E. McKenney
2016-01-26 19:44                                     ` Paul E. McKenney
2016-01-26 10:24                                   ` Peter Zijlstra
2016-01-14 22:20                                 ` Paul E. McKenney
2016-01-14 21:24                               ` Leonid Yegoshin
2016-01-18  8:19                               ` Herbert Xu
2016-01-18  8:19                               ` Herbert Xu
2016-01-18  8:19                               ` Herbert Xu
2016-01-18  8:19                                 ` Herbert Xu
2016-01-18  8:19                                 ` Herbert Xu
2016-01-18  8:19                                 ` Herbert Xu
2016-01-18 15:46                                 ` Paul E. McKenney
2016-01-18 15:46                                 ` Paul E. McKenney
2016-01-18 15:46                                   ` Paul E. McKenney
2016-01-18 15:46                                   ` Paul E. McKenney
2016-01-18 15:46                                   ` Paul E. McKenney
2016-01-26 16:52                                   ` Boqun Feng
2016-01-26 16:52                                   ` Boqun Feng
2016-01-26 16:52                                     ` Boqun Feng
2016-01-26 16:52                                     ` Boqun Feng
2016-01-26 16:52                                     ` Boqun Feng
2016-01-26 17:22                                     ` Peter Zijlstra
2016-01-26 17:22                                     ` Peter Zijlstra
2016-01-26 17:22                                       ` Peter Zijlstra
2016-01-26 17:22                                       ` Peter Zijlstra
2016-01-26 17:22                                       ` Peter Zijlstra
2016-01-26 19:44                                       ` Linus Torvalds
2016-01-26 19:44                                       ` Linus Torvalds
2016-01-26 19:44                                         ` Linus Torvalds
2016-01-26 19:44                                         ` Linus Torvalds
2016-01-26 19:44                                         ` Linus Torvalds
2016-01-26 19:44                                         ` Linus Torvalds
2016-01-26 19:44                                         ` Linus Torvalds
2016-01-26 19:44                                         ` Linus Torvalds
2016-01-26 19:44                                         ` Linus Torvalds
2016-01-26 20:10                                         ` Paul E. McKenney
2016-01-26 20:10                                         ` Paul E. McKenney
2016-01-26 20:10                                           ` Paul E. McKenney
2016-01-26 20:10                                           ` Paul E. McKenney
2016-01-26 20:10                                           ` Paul E. McKenney
2016-01-26 20:10                                           ` Paul E. McKenney
2016-01-26 22:15                                           ` Linus Torvalds
2016-01-26 22:15                                           ` Linus Torvalds
2016-01-26 22:15                                           ` Linus Torvalds
2016-01-26 22:15                                             ` Linus Torvalds
2016-01-26 22:15                                             ` Linus Torvalds
2016-01-26 22:15                                             ` Linus Torvalds
2016-01-26 22:15                                             ` Linus Torvalds
2016-01-26 22:33                                             ` Linus Torvalds
2016-01-26 22:33                                               ` Linus Torvalds
2016-01-26 22:33                                               ` Linus Torvalds
2016-01-26 22:33                                               ` Linus Torvalds
2016-01-26 22:33                                               ` Linus Torvalds
2016-01-26 23:29                                               ` Paul E. McKenney
2016-01-26 23:29                                                 ` Paul E. McKenney
2016-01-26 23:29                                                 ` Paul E. McKenney
2016-01-26 23:29                                                 ` Paul E. McKenney
2016-01-26 23:29                                                 ` Paul E. McKenney
2016-01-26 23:45                                                 ` Linus Torvalds
2016-01-26 23:45                                                 ` Linus Torvalds
2016-01-26 23:45                                                   ` Linus Torvalds
2016-01-26 23:45                                                   ` Linus Torvalds
2016-01-26 23:45                                                   ` Linus Torvalds
2016-01-26 23:45                                                   ` Linus Torvalds
2016-01-27  0:57                                                   ` Paul E. McKenney
2016-01-27  0:57                                                     ` Paul E. McKenney
2016-01-27  0:57                                                     ` Paul E. McKenney
2016-01-27  0:57                                                     ` Paul E. McKenney
2016-01-27  0:57                                                     ` Paul E. McKenney
2016-01-27  0:57                                                   ` Paul E. McKenney
2016-01-26 23:45                                                 ` Linus Torvalds
2016-01-27  2:04                                                 ` Boqun Feng
2016-01-27  2:04                                                 ` Boqun Feng
2016-01-27  2:04                                                   ` Boqun Feng
2016-01-27  2:04                                                   ` Boqun Feng
2016-01-27  2:04                                                   ` Boqun Feng
2016-01-27  2:04                                                   ` Boqun Feng
2016-01-27  2:04                                                   ` Boqun Feng
2016-01-27  2:04                                                   ` Boqun Feng
2016-01-27 23:30                                                   ` Paul E. McKenney
2016-01-27 23:30                                                     ` Paul E. McKenney
2016-01-27 23:30                                                     ` Paul E. McKenney
2016-01-27 23:30                                                     ` Paul E. McKenney
2016-01-27 23:30                                                     ` Paul E. McKenney
2016-01-27 23:30                                                     ` Paul E. McKenney
2016-01-27 23:30                                                     ` Paul E. McKenney
2016-01-27 23:30                                                   ` Paul E. McKenney
2016-01-27 23:30                                                   ` Paul E. McKenney
2016-01-27  2:04                                                 ` Boqun Feng
2016-01-26 23:29                                               ` Paul E. McKenney
2016-01-27  7:51                                               ` Peter Zijlstra
2016-01-27  7:51                                               ` Peter Zijlstra
2016-01-27  7:51                                                 ` Peter Zijlstra
2016-01-27  7:51                                                 ` Peter Zijlstra
2016-01-27  7:51                                                 ` Peter Zijlstra
2016-01-27  7:51                                                 ` Peter Zijlstra
2016-01-27  7:51                                                 ` Peter Zijlstra
2016-01-27  8:05                                                 ` Linus Torvalds
2016-01-27  8:05                                                   ` Linus Torvalds
2016-01-27  8:05                                                 ` Linus Torvalds
2016-01-26 22:33                                             ` Linus Torvalds
2016-01-26 22:33                                             ` Linus Torvalds
2016-01-26 20:10                                         ` Paul E. McKenney
2016-01-26 19:44                                       ` Linus Torvalds
2016-01-26 19:51                                     ` Paul E. McKenney
2016-01-26 19:51                                     ` Paul E. McKenney
2016-01-26 19:51                                       ` Paul E. McKenney
2016-01-26 19:51                                       ` Paul E. McKenney
2016-01-26 19:51                                       ` Paul E. McKenney
2016-01-26 16:52                                   ` Boqun Feng
2016-01-14 20:12                           ` Leonid Yegoshin
2016-01-14 12:04                       ` Will Deacon
2016-01-14 12:04                       ` Will Deacon
2016-01-13 20:58                     ` Leonid Yegoshin
2016-01-13 19:02                 ` Leonid Yegoshin
2016-01-13 22:26                 ` Leonid Yegoshin
2016-01-13 22:26                 ` Leonid Yegoshin
2016-01-13 22:26                 ` Leonid Yegoshin
2016-01-13 22:26                   ` Leonid Yegoshin
2016-01-13 22:26                   ` Leonid Yegoshin
2016-01-13 22:26                   ` Leonid Yegoshin
2016-01-13 22:26                   ` Leonid Yegoshin
2016-01-14  9:24                   ` Michael S. Tsirkin
2016-01-14  9:24                   ` Michael S. Tsirkin
2016-01-14  9:24                   ` Michael S. Tsirkin
2016-01-14  9:24                     ` Michael S. Tsirkin
2016-01-14  9:24                     ` Michael S. Tsirkin
2016-01-14  9:24                     ` Michael S. Tsirkin
2016-01-14 12:14                   ` Will Deacon
2016-01-14 12:14                   ` Will Deacon
     [not found]                   ` <5696CF08.8080700-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2016-01-14 12:14                     ` Will Deacon
2016-01-14 12:14                       ` Will Deacon
2016-01-14 12:14                       ` Will Deacon
2016-01-14 12:14                       ` Will Deacon
2016-01-14 12:14                       ` Will Deacon
2016-01-14 19:28                       ` Leonid Yegoshin
2016-01-14 19:28                       ` Leonid Yegoshin
2016-01-14 19:28                         ` Leonid Yegoshin
2016-01-14 19:28                         ` Leonid Yegoshin
2016-01-14 19:28                         ` Leonid Yegoshin
2016-01-14 19:28                         ` Leonid Yegoshin
2016-01-14 20:34                         ` Paul E. McKenney
2016-01-14 20:34                           ` Paul E. McKenney
2016-01-14 20:34                           ` Paul E. McKenney
2016-01-14 20:34                           ` Paul E. McKenney
2016-01-14 20:34                           ` Paul E. McKenney
2016-01-14 21:01                           ` Leonid Yegoshin
2016-01-14 21:01                           ` Leonid Yegoshin
2016-01-14 21:01                             ` Leonid Yegoshin
2016-01-14 21:01                             ` Leonid Yegoshin
2016-01-14 21:01                             ` Leonid Yegoshin
2016-01-14 21:01                             ` Leonid Yegoshin
2016-01-14 21:01                             ` Leonid Yegoshin
2016-01-14 21:29                             ` Paul E. McKenney
2016-01-14 21:29                               ` Paul E. McKenney
2016-01-14 21:29                               ` Paul E. McKenney
2016-01-14 21:29                               ` Paul E. McKenney
2016-01-14 21:29                               ` Paul E. McKenney
2016-01-14 21:36                               ` Leonid Yegoshin
2016-01-14 21:36                               ` Leonid Yegoshin
2016-01-14 21:36                                 ` Leonid Yegoshin
2016-01-14 21:36                                 ` Leonid Yegoshin
2016-01-14 21:36                                 ` Leonid Yegoshin
2016-01-14 21:36                                 ` Leonid Yegoshin
2016-01-14 21:36                                 ` Leonid Yegoshin
2016-01-14 22:55                                 ` Paul E. McKenney
2016-01-14 22:55                                 ` Paul E. McKenney
2016-01-14 22:55                                   ` Paul E. McKenney
2016-01-14 22:55                                   ` Paul E. McKenney
2016-01-14 22:55                                   ` Paul E. McKenney
2016-01-14 22:55                                   ` Paul E. McKenney
2016-01-14 23:33                                   ` Leonid Yegoshin
2016-01-14 23:33                                   ` Leonid Yegoshin
2016-01-14 23:33                                     ` Leonid Yegoshin
2016-01-14 23:33                                     ` Leonid Yegoshin
2016-01-14 23:33                                     ` Leonid Yegoshin
2016-01-14 23:33                                     ` Leonid Yegoshin
2016-01-14 23:33                                     ` Leonid Yegoshin
2016-01-15  0:47                                     ` Paul E. McKenney
2016-01-15  0:47                                     ` Paul E. McKenney
2016-01-15  0:47                                       ` Paul E. McKenney
2016-01-15  0:47                                       ` Paul E. McKenney
2016-01-15  0:47                                       ` Paul E. McKenney
2016-01-15  0:47                                       ` Paul E. McKenney
2016-01-15  1:07                                       ` Leonid Yegoshin
2016-01-15  1:07                                       ` Leonid Yegoshin
2016-01-15  1:07                                         ` Leonid Yegoshin
2016-01-15  1:07                                         ` Leonid Yegoshin
2016-01-15  1:07                                         ` Leonid Yegoshin
2016-01-15  1:07                                         ` Leonid Yegoshin
2016-01-15  1:07                                         ` Leonid Yegoshin
2016-01-27 11:26                                         ` Maciej W. Rozycki
2016-01-27 11:26                                           ` Maciej W. Rozycki
2016-01-27 11:26                                           ` Maciej W. Rozycki
2016-01-27 11:26                                           ` Maciej W. Rozycki
2016-01-28  0:48                                           ` Leonid Yegoshin
2016-01-28  0:48                                             ` Leonid Yegoshin
2016-01-29 13:38                                             ` Maciej W. Rozycki
2016-01-29 13:38                                               ` Maciej W. Rozycki
2016-01-29 13:38                                               ` Maciej W. Rozycki
2016-01-29 13:38                                               ` Maciej W. Rozycki
2016-01-29 13:38                                             ` Maciej W. Rozycki
2016-01-29 13:38                                             ` Maciej W. Rozycki
2016-01-28  0:48                                           ` Leonid Yegoshin
2016-01-28  0:58                                           ` Leonid Yegoshin
2016-01-28  0:58                                           ` Leonid Yegoshin
2016-01-28  0:58                                             ` Leonid Yegoshin
2016-01-28  0:58                                             ` Leonid Yegoshin
2016-01-28  0:58                                             ` Leonid Yegoshin
2016-01-28  0:58                                             ` Leonid Yegoshin
2016-01-27 11:26                                         ` Maciej W. Rozycki
2016-01-27 11:26                                         ` Maciej W. Rozycki
     [not found]                                       ` <20160115004753.GN3818-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-01-27 10:40                                         ` Ralf Baechle
2016-01-27 10:40                                           ` Ralf Baechle
2016-01-27 10:40                                           ` Ralf Baechle
2016-01-27 10:40                                           ` Ralf Baechle
2016-01-27 12:09                                           ` Maciej W. Rozycki
2016-01-27 12:09                                           ` Maciej W. Rozycki
2016-01-27 12:09                                             ` Maciej W. Rozycki
2016-01-27 12:09                                             ` Maciej W. Rozycki
2016-01-27 12:09                                             ` Maciej W. Rozycki
2016-01-27 12:09                                             ` Maciej W. Rozycki
2016-01-27 12:09                                           ` Maciej W. Rozycki
2016-01-27 10:40                                       ` Ralf Baechle
2016-01-27 10:40                                       ` Ralf Baechle
2016-01-15 10:24                                   ` Will Deacon
2016-01-15 10:24                                     ` Will Deacon
2016-01-15 10:24                                     ` Will Deacon
2016-01-15 17:54                                     ` Paul E. McKenney
2016-01-15 17:54                                     ` Paul E. McKenney
2016-01-15 17:54                                       ` Paul E. McKenney
2016-01-15 17:54                                       ` Paul E. McKenney
2016-01-15 17:54                                       ` Paul E. McKenney
2016-01-15 19:28                                       ` Paul E. McKenney
2016-01-15 19:28                                       ` Paul E. McKenney
2016-01-15 19:28                                         ` Paul E. McKenney
2016-01-15 19:28                                         ` Paul E. McKenney
2016-01-15 19:28                                         ` Paul E. McKenney
2016-01-25 14:41                                         ` Will Deacon
2016-01-25 14:41                                         ` Will Deacon
2016-01-25 14:41                                         ` Will Deacon
2016-01-25 14:41                                           ` Will Deacon
2016-01-25 14:41                                           ` Will Deacon
2016-01-25 14:41                                           ` Will Deacon
2016-01-26  1:06                                           ` Paul E. McKenney
2016-01-26  1:06                                             ` Paul E. McKenney
2016-01-26  1:06                                             ` Paul E. McKenney
2016-01-26  1:06                                             ` Paul E. McKenney
2016-01-26 12:10                                             ` Will Deacon
2016-01-26 12:10                                             ` Will Deacon
2016-01-26 12:10                                             ` Will Deacon
2016-01-26 12:10                                               ` Will Deacon
2016-01-26 12:10                                               ` Will Deacon
2016-01-26 12:10                                               ` Will Deacon
2016-01-26 23:37                                               ` Paul E. McKenney
2016-01-26 23:37                                                 ` Paul E. McKenney
2016-01-26 23:37                                                 ` Paul E. McKenney
2016-01-26 23:37                                                 ` Paul E. McKenney
2016-01-27 10:23                                                 ` Will Deacon
2016-01-27 10:23                                                   ` Will Deacon
2016-01-27 10:23                                                   ` Will Deacon
2016-01-27 10:23                                                 ` Will Deacon
2016-01-27 10:23                                                 ` Will Deacon
2016-01-26 23:37                                               ` Paul E. McKenney
2016-01-26  1:06                                           ` Paul E. McKenney
2016-01-26  1:06                                           ` Paul E. McKenney
2016-01-15 10:24                                   ` Will Deacon
2016-01-15  8:55                               ` Peter Zijlstra
2016-01-15  8:55                               ` Peter Zijlstra
2016-01-15  8:55                               ` Peter Zijlstra
2016-01-15  8:55                                 ` Peter Zijlstra
2016-01-15  8:55                                 ` Peter Zijlstra
2016-01-15  8:55                                 ` Peter Zijlstra
2016-01-15  9:13                                 ` Peter Zijlstra
2016-01-15  9:13                                   ` Peter Zijlstra
2016-01-15  9:13                                   ` Peter Zijlstra
2016-01-15  9:13                                   ` Peter Zijlstra
2016-01-15 17:46                                   ` Paul E. McKenney
2016-01-15 17:46                                   ` Paul E. McKenney
2016-01-15 17:46                                     ` Paul E. McKenney
2016-01-15 17:46                                     ` Paul E. McKenney
2016-01-15 17:46                                     ` Paul E. McKenney
2016-01-15 21:27                                     ` Peter Zijlstra
2016-01-15 21:27                                     ` Peter Zijlstra
2016-01-15 21:27                                       ` Peter Zijlstra
2016-01-15 21:27                                       ` Peter Zijlstra
2016-01-15 21:27                                       ` Peter Zijlstra
2016-01-15 21:58                                       ` Paul E. McKenney
2016-01-15 21:58                                       ` Paul E. McKenney
2016-01-15 21:58                                         ` Paul E. McKenney
2016-01-15 21:58                                         ` Paul E. McKenney
2016-01-15 21:58                                         ` Paul E. McKenney
2016-01-25 16:42                                         ` Will Deacon
2016-01-25 16:42                                         ` Will Deacon
2016-01-25 16:42                                           ` Will Deacon
2016-01-25 16:42                                           ` Will Deacon
2016-01-26  6:03                                           ` Paul E. McKenney
2016-01-26  6:03                                           ` Paul E. McKenney
2016-01-26  6:03                                             ` Paul E. McKenney
2016-01-26  6:03                                             ` Paul E. McKenney
2016-01-26  6:03                                             ` Paul E. McKenney
2016-01-26 10:19                                             ` Peter Zijlstra
2016-01-26 10:19                                             ` Peter Zijlstra
2016-01-26 10:19                                             ` Peter Zijlstra
2016-01-26 10:19                                               ` Peter Zijlstra
2016-01-26 10:19                                               ` Peter Zijlstra
2016-01-26 10:19                                               ` Peter Zijlstra
2016-01-26 20:13                                               ` Paul E. McKenney
2016-01-26 20:13                                                 ` Paul E. McKenney
2016-01-26 20:13                                                 ` Paul E. McKenney
2016-01-26 20:13                                                 ` Paul E. McKenney
2016-01-27  8:39                                                 ` Peter Zijlstra
2016-01-27  8:39                                                   ` Peter Zijlstra
2016-01-27  8:39                                                   ` Peter Zijlstra
2016-01-27  8:39                                                   ` Peter Zijlstra
2016-01-27  8:39                                                 ` Peter Zijlstra
2016-01-27  8:39                                                 ` Peter Zijlstra
2016-01-26 20:13                                               ` Paul E. McKenney
2016-01-26 12:16                                             ` Will Deacon
2016-01-26 12:16                                             ` Will Deacon
2016-01-26 12:16                                               ` Will Deacon
2016-01-26 12:16                                               ` Will Deacon
2016-01-26 14:35                                               ` Boqun Feng
2016-01-26 14:35                                                 ` Boqun Feng
2016-01-26 14:35                                                 ` Boqun Feng
2016-01-26 14:35                                                 ` Boqun Feng
2016-01-26 14:35                                               ` Boqun Feng
2016-01-26 19:58                                               ` Paul E. McKenney
2016-01-26 19:58                                               ` Paul E. McKenney
     [not found]                                               ` <20160126121608.GE21553-5wv7dgnIgG8@public.gmane.org>
2016-01-26 19:58                                                 ` Paul E. McKenney
2016-01-26 19:58                                                   ` Paul E. McKenney
2016-01-26 19:58                                                   ` Paul E. McKenney
2016-01-26 19:58                                                   ` Paul E. McKenney
2016-01-27 10:25                                                   ` Will Deacon
2016-01-27 10:25                                                     ` Will Deacon
2016-01-27 10:25                                                     ` Will Deacon
2016-01-27 23:32                                                     ` Paul E. McKenney
2016-01-27 23:32                                                       ` Paul E. McKenney
2016-01-27 23:32                                                       ` Paul E. McKenney
2016-01-27 23:32                                                       ` Paul E. McKenney
2016-01-27 23:32                                                     ` Paul E. McKenney
2016-01-27 10:25                                                   ` Will Deacon
2016-01-15 21:58                                       ` Paul E. McKenney
2016-01-15  9:13                                 ` Peter Zijlstra
2016-01-15 17:39                                 ` Paul E. McKenney
2016-01-15 17:39                                   ` Paul E. McKenney
2016-01-15 17:39                                   ` Paul E. McKenney
2016-01-15 17:39                                   ` Paul E. McKenney
2016-01-15 21:29                                   ` Peter Zijlstra
2016-01-15 21:29                                   ` Peter Zijlstra
2016-01-15 21:29                                     ` Peter Zijlstra
2016-01-15 21:29                                     ` Peter Zijlstra
2016-01-15 21:29                                     ` Peter Zijlstra
2016-01-15 22:01                                     ` Paul E. McKenney
2016-01-15 22:01                                     ` Paul E. McKenney
2016-01-15 22:01                                       ` Paul E. McKenney
2016-01-15 22:01                                       ` Paul E. McKenney
2016-01-15 22:01                                       ` Paul E. McKenney
2016-01-25 18:02                                   ` Will Deacon
2016-01-25 18:02                                   ` Will Deacon
2016-01-25 18:02                                   ` Will Deacon
2016-01-25 18:02                                     ` Will Deacon
2016-01-25 18:02                                     ` Will Deacon
2016-01-25 18:02                                     ` Will Deacon
2016-01-26  6:12                                     ` Paul E. McKenney
2016-01-26  6:12                                     ` Paul E. McKenney [this message]
2016-01-26  6:12                                       ` Paul E. McKenney
2016-01-26  6:12                                       ` Paul E. McKenney
2016-01-26  6:12                                       ` Paul E. McKenney
2016-01-26 10:15                                       ` Peter Zijlstra
2016-01-26 10:15                                         ` Peter Zijlstra
2016-01-26 10:15                                         ` Peter Zijlstra
2016-01-26 10:15                                         ` Peter Zijlstra
2016-01-26 10:15                                         ` Peter Zijlstra
2016-01-26 10:15                                       ` Peter Zijlstra
2016-01-26 10:15                                       ` Peter Zijlstra
2016-01-15 17:39                                 ` Paul E. McKenney
2016-01-14 21:29                             ` Paul E. McKenney
2016-01-14 20:34                         ` Paul E. McKenney
2016-01-14 19:28                       ` Leonid Yegoshin
2016-01-13 10:45               ` Will Deacon
2016-01-12 20:45             ` Leonid Yegoshin
2016-01-12 11:41           ` Will Deacon
2016-01-12 10:25       ` Peter Zijlstra
2016-01-12 10:25       ` Peter Zijlstra
2016-01-12  9:27     ` Peter Zijlstra
2016-01-12  1:14   ` Leonid Yegoshin
2016-01-12  1:14   ` Leonid Yegoshin
2016-01-10 14:18 ` [PATCH v3 11/41] " Michael S. Tsirkin
2016-01-10 14:18 ` [PATCH v3 12/41] x86/um: " Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18 ` [PATCH v3 13/41] x86: " Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-12 14:10   ` Thomas Gleixner
2016-01-12 14:10   ` Thomas Gleixner
2016-01-12 14:10     ` Thomas Gleixner
2016-01-12 14:10     ` Thomas Gleixner
2016-01-12 14:10     ` Thomas Gleixner
2016-01-12 14:10     ` Thomas Gleixner
2016-01-12 14:10   ` Thomas Gleixner
2016-01-10 14:18 ` [PATCH v3 14/41] asm-generic: add __smp_xxx wrappers Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18 ` [PATCH v3 15/41] powerpc: define __smp_xxx Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18 ` [PATCH v3 16/41] arm64: " Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18 ` [PATCH v3 17/41] arm: " Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18 ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:18   ` Michael S. Tsirkin
2016-01-10 14:19 ` [PATCH v3 18/41] blackfin: " Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19 ` [PATCH v3 19/41] ia64: " Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` [PATCH v3 20/41] metag: " Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` [PATCH v3 21/41] mips: " Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` [PATCH v3 22/41] s390: " Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` [PATCH v3 23/41] sh: define __smp_xxx, fix smp_store_mb for !SMP Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` [PATCH v3 24/41] sparc: define __smp_xxx Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19 ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:19   ` Michael S. Tsirkin
2016-01-10 14:20 ` [PATCH v3 25/41] tile: " Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20 ` [PATCH v3 26/41] xtensa: " Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20 ` [PATCH v3 27/41] x86: " Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-12 14:11   ` Thomas Gleixner
2016-01-12 14:11   ` Thomas Gleixner
2016-01-12 14:11     ` Thomas Gleixner
2016-01-12 14:11     ` Thomas Gleixner
2016-01-12 14:11     ` Thomas Gleixner
2016-01-12 14:11   ` Thomas Gleixner
2016-01-10 14:20 ` [PATCH v3 28/41] asm-generic: implement virt_xxx memory barriers Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20 ` [PATCH v3 29/41] Revert "virtio_ring: Update weak barriers to use dma_wmb/rmb" Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20 ` [PATCH v3 30/41] virtio_ring: update weak barriers to use virt_xxx Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20 ` [PATCH v3 31/41] sh: support 1 and 2 byte xchg Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20 ` [PATCH v3 32/41] sh: move xchg_cmpxchg to a header by itself Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20 ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:20   ` Michael S. Tsirkin
2016-01-10 14:21 ` [PATCH v3 33/41] virtio_ring: use virt_store_mb Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21 ` [PATCH v3 34/41] checkpatch.pl: add missing memory barriers Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21 ` [PATCH v3 35/41] checkpatch: check for __smp outside barrier.h Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21 ` [PATCH v3 36/41] checkpatch: add virt barriers Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21 ` [PATCH v3 37/41] xenbus: use virt_xxx barriers Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21 ` [PATCH v3 38/41] xen/io: " Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21 ` [PATCH v3 39/41] xen/events: " Michael S. Tsirkin
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-10 14:21   ` Michael S. Tsirkin
2016-01-11 11:12   ` David Vrabel
2016-01-11 11:12   ` David Vrabel
2016-01-11 11:12     ` David Vrabel
2016-01-11 11:12     ` David Vrabel
2016-01-11 11:12     ` David Vrabel
2016-01-11 11:12   ` David Vrabel
2016-01-10 14:21 ` Michael S. Tsirkin
2016-01-10 14:22 ` [PATCH v3 40/41] s390: use generic memory barriers Michael S. Tsirkin
2016-01-10 14:22   ` Michael S. Tsirkin
2016-01-10 14:22   ` Michael S. Tsirkin
2016-01-10 14:22   ` Michael S. Tsirkin
2016-01-10 14:22 ` Michael S. Tsirkin
2016-01-10 14:22 ` Michael S. Tsirkin
2016-01-10 14:22 ` [PATCH v3 41/41] s390: more efficient smp barriers Michael S. Tsirkin
2016-01-10 14:22   ` Michael S. Tsirkin
2016-01-10 14:22   ` Michael S. Tsirkin
2016-01-10 14:22   ` Michael S. Tsirkin
2016-01-10 14:22 ` Michael S. Tsirkin
2016-01-10 14:22 ` Michael S. Tsirkin
2016-01-12 12:50 ` [PATCH v3 00/41] arch: barrier cleanup + barriers for virt Peter Zijlstra
2016-01-12 12:50 ` Peter Zijlstra
2016-01-12 12:50   ` Peter Zijlstra
2016-01-12 12:50   ` Peter Zijlstra
2016-01-12 12:50 ` Peter Zijlstra

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=20160126061211.GK4503@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=Leonid.Yegoshin@imgtec.com \
    --cc=adi-buildroot-devel@lists.sourceforge.net \
    --cc=arnd@arndb.de \
    --cc=ddaney.cavm@gmail.com \
    --cc=hpa@zytor.com \
    --cc=james.hogan@imgtec.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-metag@vger.kernel. \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mingo@elte.hu \
    --cc=mingo@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=mst@redhat.com \
    --cc=peterz@infradead.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tglx@linutronix.de \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.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.