All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Rich Felker <dalias@libc.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org,
	Rob Landley <rob@landley.net>, Jeff Dionne <jeff@uclinux.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>
Subject: Re: [PATCH v2 31/32] sh: support a 2-byte smp_store_mb
Date: Thu, 07 Jan 2016 17:48:08 +0000	[thread overview]
Message-ID: <20160107175944-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <20160106235301.GA23060@brightrain.aerifal.cx>

On Wed, Jan 06, 2016 at 06:53:01PM -0500, Rich Felker wrote:
> On Wed, Jan 06, 2016 at 10:23:12PM +0200, Michael S. Tsirkin wrote:
> > On Wed, Jan 06, 2016 at 01:23:50PM -0500, Rich Felker wrote:
> > > On Wed, Jan 06, 2016 at 03:32:18PM +0100, Peter Zijlstra wrote:
> > > > On Wed, Jan 06, 2016 at 01:52:17PM +0200, Michael S. Tsirkin wrote:
> > > > > > > Peter, what do you think? How about I leave this patch as is for now?
> > > > > > 
> > > > > > No, and I object to removing the single byte implementation too. Either
> > > > > > remove the full arch or fix xchg() to conform. xchg() should work on all
> > > > > > native word sizes, for SH that would be 1,2 and 4 bytes.
> > > > > 
> > > > > Rick, maybe you could explain how is current 1 byte xchg on llsc wrong?
> > > > 
> > > > It doesn't seem to preserve the 3 other bytes in the word.
> > > > 
> > > > > It does use 4 byte accesses but IIUC that is all that exists on
> > > > > this architecture.
> > > > 
> > > > Right, that's not a problem, look at arch/alpha/include/asm/xchg.h for
> > > > example. A store to another portion of the word should make the
> > > > store-conditional fail and we'll retry the loop.
> > > > 
> > > > The short versions should however preserve the other bytes in the word.
> > > 
> > > Indeed. Also, accesses must be aligned, so the asm needs to round down
> > > to an aligned address and perform a correct read-modify-write on it,
> > > placing the new byte in the correct offset in the word.
> > > 
> > > Alternatively (my preference) this logic can be impemented in C as a
> > > wrapper around the 32-bit cmpxchg. I think this is less error-prone
> > > and it can be shared between the multiple sh cmpxchg back-ends,
> > > including the new cas.l one we need for J2.
> > > 
> > > > SH's cmpxchg() is equally incomplete and does not provide 1 and 2 byte
> > > > versions.
> > > > 
> > > > In any case, I'm all for rm -rf arch/sh/, one less arch to worry about
> > > > is always good, but ISTR some people wanting to resurrect SH:
> > > > 
> > > >   http://old.lwn.net/Articles/647636/
> > > > 
> > > > Rob, Jeff, Sato-san, might I suggest you send a MAINTAINERS patch and
> > > > take up an active interest in SH lest someone 'accidentally' nukes it?
> > > 
> > > We're in the process of preparing such a proposal right now. That
> > > current intent is that Sato-san and I will co-maintain arch/sh. We'll
> > > include more details about motivation, proposed development direction,
> > > existing work to be merged, etc. in that proposal.
> > 
> > Well I'd like to be able to make progress with generic
> > arch cleanups meanwhile.
> > 
> > Could you quickly write a version of 1 and 2 byte xchg that
> > works so I can include it?
> 
> Here are quick, untested generic ones:
> 
> static inline unsigned long xchg_u8(volatile u8 *m, unsigned long val)
> {
> 	u32 old;
> 	unsigned long offset = (unsigned long)m & 3;
> 	volatile u32 *w = (volatile u32 *)(m - offset);
> 	union { u32 w; u8 b[4]; } u;
> 	do {
> 		old = u.w = *w;
> 		result = w.b[offset];
> 		w.b[offset] = val;
> 	} while (cmpxchg(w, old, u.w) != old);
> 	return result;
> }
> 
> static inline unsigned long xchg_u16(volatile u16 *m, unsigned long val)
> {
> 	u32 old;
> 	unsigned long result;
> 	unsigned long offset = ((unsigned long)m & 3) >> 1;
> 	volatile u32 *w = (volatile u32 *)(m - offset);
> 	union { u32 w; u16 h[2]; } u;
> 	do {
> 		old = u.w = *w;
> 		result = w.h[offset];
> 		w.h[offset] = val;
> 	} while (cmpxchg(w, old, u.w) != old);
> 	return result;
> }
> 
> It would be nice to have these in asm-generic for archs which don't
> define their own versions rather than having cruft like this repeated
> per-arch. Strictly speaking, the volatile u32 used to access the
> 32-bit word containing the u8 or u16 should be
> __attribute__((__may_alias__)) too. Is there an existing kernel type
> for a "may_alias u32" or should it perhaps be added?
> 
> Rich

BTW this seems suboptimal for grb and irq variants which apparently
can do things correctly.


WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Rich Felker <dalias@libc.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org,
	Rob Landley <rob@landley.net>, Jeff Dionne <jeff@uclinux.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>
Subject: Re: [PATCH v2 31/32] sh: support a 2-byte smp_store_mb
Date: Thu, 7 Jan 2016 19:48:08 +0200	[thread overview]
Message-ID: <20160107175944-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <20160106235301.GA23060@brightrain.aerifal.cx>

On Wed, Jan 06, 2016 at 06:53:01PM -0500, Rich Felker wrote:
> On Wed, Jan 06, 2016 at 10:23:12PM +0200, Michael S. Tsirkin wrote:
> > On Wed, Jan 06, 2016 at 01:23:50PM -0500, Rich Felker wrote:
> > > On Wed, Jan 06, 2016 at 03:32:18PM +0100, Peter Zijlstra wrote:
> > > > On Wed, Jan 06, 2016 at 01:52:17PM +0200, Michael S. Tsirkin wrote:
> > > > > > > Peter, what do you think? How about I leave this patch as is for now?
> > > > > > 
> > > > > > No, and I object to removing the single byte implementation too. Either
> > > > > > remove the full arch or fix xchg() to conform. xchg() should work on all
> > > > > > native word sizes, for SH that would be 1,2 and 4 bytes.
> > > > > 
> > > > > Rick, maybe you could explain how is current 1 byte xchg on llsc wrong?
> > > > 
> > > > It doesn't seem to preserve the 3 other bytes in the word.
> > > > 
> > > > > It does use 4 byte accesses but IIUC that is all that exists on
> > > > > this architecture.
> > > > 
> > > > Right, that's not a problem, look at arch/alpha/include/asm/xchg.h for
> > > > example. A store to another portion of the word should make the
> > > > store-conditional fail and we'll retry the loop.
> > > > 
> > > > The short versions should however preserve the other bytes in the word.
> > > 
> > > Indeed. Also, accesses must be aligned, so the asm needs to round down
> > > to an aligned address and perform a correct read-modify-write on it,
> > > placing the new byte in the correct offset in the word.
> > > 
> > > Alternatively (my preference) this logic can be impemented in C as a
> > > wrapper around the 32-bit cmpxchg. I think this is less error-prone
> > > and it can be shared between the multiple sh cmpxchg back-ends,
> > > including the new cas.l one we need for J2.
> > > 
> > > > SH's cmpxchg() is equally incomplete and does not provide 1 and 2 byte
> > > > versions.
> > > > 
> > > > In any case, I'm all for rm -rf arch/sh/, one less arch to worry about
> > > > is always good, but ISTR some people wanting to resurrect SH:
> > > > 
> > > >   http://old.lwn.net/Articles/647636/
> > > > 
> > > > Rob, Jeff, Sato-san, might I suggest you send a MAINTAINERS patch and
> > > > take up an active interest in SH lest someone 'accidentally' nukes it?
> > > 
> > > We're in the process of preparing such a proposal right now. That
> > > current intent is that Sato-san and I will co-maintain arch/sh. We'll
> > > include more details about motivation, proposed development direction,
> > > existing work to be merged, etc. in that proposal.
> > 
> > Well I'd like to be able to make progress with generic
> > arch cleanups meanwhile.
> > 
> > Could you quickly write a version of 1 and 2 byte xchg that
> > works so I can include it?
> 
> Here are quick, untested generic ones:
> 
> static inline unsigned long xchg_u8(volatile u8 *m, unsigned long val)
> {
> 	u32 old;
> 	unsigned long offset = (unsigned long)m & 3;
> 	volatile u32 *w = (volatile u32 *)(m - offset);
> 	union { u32 w; u8 b[4]; } u;
> 	do {
> 		old = u.w = *w;
> 		result = w.b[offset];
> 		w.b[offset] = val;
> 	} while (cmpxchg(w, old, u.w) != old);
> 	return result;
> }
> 
> static inline unsigned long xchg_u16(volatile u16 *m, unsigned long val)
> {
> 	u32 old;
> 	unsigned long result;
> 	unsigned long offset = ((unsigned long)m & 3) >> 1;
> 	volatile u32 *w = (volatile u32 *)(m - offset);
> 	union { u32 w; u16 h[2]; } u;
> 	do {
> 		old = u.w = *w;
> 		result = w.h[offset];
> 		w.h[offset] = val;
> 	} while (cmpxchg(w, old, u.w) != old);
> 	return result;
> }
> 
> It would be nice to have these in asm-generic for archs which don't
> define their own versions rather than having cruft like this repeated
> per-arch. Strictly speaking, the volatile u32 used to access the
> 32-bit word containing the u8 or u16 should be
> __attribute__((__may_alias__)) too. Is there an existing kernel type
> for a "may_alias u32" or should it perhaps be added?
> 
> Rich

BTW this seems suboptimal for grb and irq variants which apparently
can do things correctly.

  parent reply	other threads:[~2016-01-07 17:48 UTC|newest]

Thread overview: 572+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-31 19:05 [PATCH v2 00/34] arch: barrier cleanup + barriers for virt Michael S. Tsirkin
2015-12-31 19:05 ` Michael S. Tsirkin
2015-12-31 19:05 ` Michael S. Tsirkin
2015-12-31 19:05 ` Michael S. Tsirkin
2015-12-31 19:05 ` [PATCH v2 01/32] lcoking/barriers, arch: Use smp barriers in smp_store_release() Michael S. Tsirkin
2015-12-31 19:05 ` Michael S. Tsirkin
2015-12-31 19:05   ` Michael S. Tsirkin
2015-12-31 19:05   ` Michael S. Tsirkin
2015-12-31 19:05   ` Michael S. Tsirkin
2015-12-31 19:05 ` [PATCH v2 02/32] asm-generic: guard smp_store_release/load_acquire Michael S. Tsirkin
2015-12-31 19:05   ` Michael S. Tsirkin
2015-12-31 19:05   ` Michael S. Tsirkin
2015-12-31 19:05   ` Michael S. Tsirkin
2015-12-31 19:05   ` Michael S. Tsirkin
2015-12-31 19:05 ` Michael S. Tsirkin
2015-12-31 19:06 ` [PATCH v2 03/32] ia64: rename nop->iosapic_nop Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` [PATCH v2 04/32] ia64: reuse asm-generic/barrier.h Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` [PATCH v2 05/32] powerpc: " Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` [PATCH v2 06/32] s390: " Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2016-01-04 13:20   ` Peter Zijlstra
2016-01-04 13:20     ` Peter Zijlstra
2016-01-04 13:20     ` Peter Zijlstra
2016-01-04 13:20     ` Peter Zijlstra
2016-01-04 13:20     ` Peter Zijlstra
2016-01-04 13:20     ` Peter Zijlstra
2016-01-04 15:03     ` Martin Schwidefsky
2016-01-04 15:03       ` Martin Schwidefsky
2016-01-04 15:03       ` Martin Schwidefsky
2016-01-04 15:03       ` Martin Schwidefsky
2016-01-04 20:42       ` Michael S. Tsirkin
2016-01-04 20:42         ` Michael S. Tsirkin
2016-01-04 20:42         ` Michael S. Tsirkin
2016-01-04 20:42         ` Michael S. Tsirkin
2016-01-05  8:03         ` Martin Schwidefsky
2016-01-05  8:03         ` Martin Schwidefsky
2016-01-05  8:03           ` Martin Schwidefsky
2016-01-05  8:03           ` Martin Schwidefsky
2016-01-05  8:03           ` Martin Schwidefsky
2016-01-04 20:42       ` Michael S. Tsirkin
2016-01-04 20:42       ` Michael S. Tsirkin
2016-01-04 15:03     ` Martin Schwidefsky
2016-01-04 20:34     ` Michael S. Tsirkin
2016-01-04 20:34     ` Michael S. Tsirkin
2016-01-04 20:34     ` Michael S. Tsirkin
2016-01-04 20:34       ` Michael S. Tsirkin
2016-01-04 20:34       ` Michael S. Tsirkin
2016-01-04 20:34       ` Michael S. Tsirkin
2016-01-04 13:20   ` Peter Zijlstra
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` [PATCH v2 07/32] sparc: " Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:43   ` David Miller
2015-12-31 19:43     ` David Miller
2015-12-31 19:43     ` David Miller
2015-12-31 19:43   ` David Miller
2015-12-31 19:43   ` David Miller
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` [PATCH v2 08/32] arm: " Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2016-01-02 11:20   ` Russell King - ARM Linux
2016-01-02 11:20     ` Russell King - ARM Linux
2016-01-02 11:20     ` Russell King - ARM Linux
2016-01-02 11:20     ` Russell King - ARM Linux
2016-01-02 11:20   ` Russell King - ARM Linux
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06 ` [PATCH v2 09/32] arm64: " Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06   ` Michael S. Tsirkin
2015-12-31 19:06 ` Michael S. Tsirkin
2015-12-31 19:07 ` [PATCH v2 10/32] metag: " Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` [PATCH v2 11/32] mips: " Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2016-01-04 13:26   ` Peter Zijlstra
2016-01-04 13:26   ` Peter Zijlstra
     [not found]   ` <1451572003-2440-12-git-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-01-04 13:26     ` Peter Zijlstra
2016-01-04 13:26       ` Peter Zijlstra
2016-01-04 13:26       ` Peter Zijlstra
2016-01-04 13:26       ` Peter Zijlstra
2016-01-04 13:26       ` Peter Zijlstra
2016-01-04 13:26       ` Peter Zijlstra
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` [PATCH v2 12/32] x86/um: " Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` [PATCH v2 13/32] x86: " Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` [PATCH v2 14/32] asm-generic: add __smp_xxx wrappers Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` [PATCH v2 15/32] powerpc: define __smp_xxx Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2016-01-05  1:36   ` Boqun Feng
2016-01-05  1:36   ` Boqun Feng
2016-01-05  1:36     ` Boqun Feng
2016-01-05  1:36     ` Boqun Feng
2016-01-05  1:36     ` Boqun Feng
2016-01-05  8:51     ` Michael S. Tsirkin
     [not found]     ` <20160105013648.GA1256-nNqVUaWX1rAq6Sbylg4iGasjOiXwFzmk@public.gmane.org>
2016-01-05  8:51       ` Michael S. Tsirkin
2016-01-05  8:51         ` Michael S. Tsirkin
2016-01-05  8:51         ` Michael S. Tsirkin
2016-01-05  8:51         ` Michael S. Tsirkin
2016-01-05  9:53         ` Boqun Feng
2016-01-05  9:53         ` Boqun Feng
2016-01-05  9:53           ` Boqun Feng
2016-01-05  9:53           ` Boqun Feng
2016-01-05  9:53           ` Boqun Feng
2016-01-05 16:16           ` Michael S. Tsirkin
     [not found]           ` <20160105095341.GA5321-nNqVUaWX1rAq6Sbylg4iGasjOiXwFzmk@public.gmane.org>
2016-01-05 16:16             ` Michael S. Tsirkin
2016-01-05 16:16               ` Michael S. Tsirkin
2016-01-05 16:16               ` Michael S. Tsirkin
2016-01-05 16:16               ` Michael S. Tsirkin
2016-01-06  1:51               ` Boqun Feng
2016-01-06  1:51                 ` Boqun Feng
2016-01-06  1:51                 ` Boqun Feng
2016-01-06  1:51                 ` Boqun Feng
2016-01-06 20:23                 ` Michael S. Tsirkin
     [not found]                 ` <20160106015152.GA14605-nNqVUaWX1rAq6Sbylg4iGasjOiXwFzmk@public.gmane.org>
2016-01-06 20:23                   ` Michael S. Tsirkin
2016-01-06 20:23                     ` Michael S. Tsirkin
2016-01-06 20:23                     ` Michael S. Tsirkin
2016-01-06 20:23                     ` Michael S. Tsirkin
2016-01-07  0:43                     ` Boqun Feng
2016-01-07  0:43                     ` Boqun Feng
2016-01-07  0:43                     ` Boqun Feng
2016-01-07  0:43                       ` Boqun Feng
2016-01-07  0:43                       ` Boqun Feng
2016-01-07  0:43                       ` Boqun Feng
2016-01-06 20:23                 ` Michael S. Tsirkin
2016-01-06  1:51               ` Boqun Feng
2016-01-06  1:51               ` Boqun Feng
2016-01-05 16:16           ` Michael S. Tsirkin
2016-01-05  9:53         ` Boqun Feng
2016-01-05  8:51     ` Michael S. Tsirkin
2016-01-05  1:36   ` Boqun Feng
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` [PATCH v2 16/32] arm64: " Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` [PATCH v2 17/32] arm: " Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07 ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2015-12-31 19:07   ` Michael S. Tsirkin
2016-01-02 11:24   ` Russell King - ARM Linux
2016-01-02 11:24   ` Russell King - ARM Linux
2016-01-02 11:24     ` Russell King - ARM Linux
2016-01-02 11:24     ` Russell King - ARM Linux
2016-01-02 11:24     ` Russell King - ARM Linux
2016-01-02 11:24     ` Russell King - ARM Linux
2016-01-02 11:24     ` Russell King - ARM Linux
2016-01-03  9:12     ` Michael S. Tsirkin
2016-01-03  9:12     ` Michael S. Tsirkin
2016-01-03  9:12       ` Michael S. Tsirkin
2016-01-03  9:12       ` Michael S. Tsirkin
2016-01-03  9:12       ` Michael S. Tsirkin
2016-01-04 13:36       ` Peter Zijlstra
2016-01-04 13:36         ` Peter Zijlstra
2016-01-04 13:36         ` Peter Zijlstra
2016-01-04 13:36         ` Peter Zijlstra
2016-01-04 13:54         ` Peter Zijlstra
2016-01-04 13:54           ` Peter Zijlstra
2016-01-04 13:54           ` Peter Zijlstra
2016-01-04 13:54           ` Peter Zijlstra
2016-01-04 13:59           ` Russell King - ARM Linux
2016-01-04 13:59             ` Russell King - ARM Linux
2016-01-04 13:59             ` Russell King - ARM Linux
2016-01-04 13:59             ` Russell King - ARM Linux
2016-01-04 13:59             ` Russell King - ARM Linux
2016-01-04 13:59             ` Russell King - ARM Linux
2016-01-05 14:38             ` Michael S. Tsirkin
2016-01-05 14:38             ` Michael S. Tsirkin
2016-01-05 14:38               ` Michael S. Tsirkin
2016-01-05 14:38               ` Michael S. Tsirkin
2016-01-05 14:38               ` Michael S. Tsirkin
2016-01-04 13:59           ` Russell King - ARM Linux
2016-01-04 13:59           ` Russell King - ARM Linux
2016-01-04 20:39           ` Michael S. Tsirkin
2016-01-04 20:39           ` Michael S. Tsirkin
2016-01-04 20:39           ` Michael S. Tsirkin
2016-01-04 20:39             ` Michael S. Tsirkin
2016-01-04 20:39             ` Michael S. Tsirkin
2016-01-04 20:39             ` Michael S. Tsirkin
2016-01-04 13:54         ` Peter Zijlstra
2016-01-04 20:12         ` Michael S. Tsirkin
2016-01-04 20:12           ` Michael S. Tsirkin
2016-01-04 20:12           ` Michael S. Tsirkin
2016-01-04 20:12           ` Michael S. Tsirkin
2016-01-04 20:12         ` Michael S. Tsirkin
2016-01-04 13:36       ` Peter Zijlstra
2016-01-04 13:36       ` Peter Zijlstra
2016-01-02 11:24   ` Russell King - ARM Linux
2015-12-31 19:08 ` [PATCH v2 18/32] blackfin: " Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08 ` [PATCH v2 19/32] ia64: " Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08 ` [PATCH v2 20/32] metag: " Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08 ` [PATCH v2 21/32] mips: " Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08 ` [PATCH v2 22/32] s390: " Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2016-01-04 13:45   ` Peter Zijlstra
2016-01-04 13:45   ` Peter Zijlstra
2016-01-04 13:45     ` Peter Zijlstra
2016-01-04 13:45     ` Peter Zijlstra
2016-01-04 13:45     ` Peter Zijlstra
2016-01-04 13:45     ` Peter Zijlstra
2016-01-04 13:45     ` Peter Zijlstra
2016-01-04 20:18     ` Michael S. Tsirkin
2016-01-04 20:18     ` Michael S. Tsirkin
2016-01-04 20:18       ` Michael S. Tsirkin
2016-01-04 20:18       ` Michael S. Tsirkin
2016-01-04 20:18       ` Michael S. Tsirkin
2016-01-05  8:13       ` Martin Schwidefsky
2016-01-05  8:13       ` Martin Schwidefsky
2016-01-05  8:13       ` Martin Schwidefsky
2016-01-05  8:13         ` Martin Schwidefsky
2016-01-05  8:13         ` Martin Schwidefsky
2016-01-05  8:13         ` Martin Schwidefsky
2016-01-05  9:30         ` Michael S. Tsirkin
2016-01-05  9:30         ` Michael S. Tsirkin
2016-01-05  9:30         ` Michael S. Tsirkin
2016-01-05  9:30           ` Michael S. Tsirkin
2016-01-05  9:30           ` Michael S. Tsirkin
2016-01-05  9:30           ` Michael S. Tsirkin
2016-01-05 12:08           ` Martin Schwidefsky
2016-01-05 12:08             ` Martin Schwidefsky
2016-01-05 12:08             ` Martin Schwidefsky
2016-01-05 12:08             ` Martin Schwidefsky
2016-01-05 13:04             ` Michael S. Tsirkin
2016-01-05 13:04             ` Michael S. Tsirkin
2016-01-05 13:04               ` Michael S. Tsirkin
2016-01-05 13:04               ` Michael S. Tsirkin
2016-01-05 13:04               ` Michael S. Tsirkin
2016-01-05 14:21               ` Martin Schwidefsky
2016-01-05 14:21                 ` Martin Schwidefsky
2016-01-05 14:21                 ` Martin Schwidefsky
2016-01-05 14:21                 ` Martin Schwidefsky
2016-01-05 14:21               ` Martin Schwidefsky
2016-01-05 14:21               ` Martin Schwidefsky
2016-01-05 13:04             ` Michael S. Tsirkin
2016-01-05 12:08           ` Martin Schwidefsky
2016-01-05 12:08           ` Martin Schwidefsky
2016-01-05 15:39           ` Christian Borntraeger
     [not found]           ` <20160105105335-mutt-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-01-05 15:39             ` Christian Borntraeger
2016-01-05 15:39               ` Christian Borntraeger
2016-01-05 15:39               ` Christian Borntraeger
2016-01-05 15:39               ` Christian Borntraeger
2016-01-05 16:04               ` Michael S. Tsirkin
2016-01-05 16:04                 ` Michael S. Tsirkin
2016-01-05 16:04                 ` Michael S. Tsirkin
2016-01-05 16:04                 ` Michael S. Tsirkin
2016-01-05 16:04               ` Michael S. Tsirkin
2016-01-05 16:04               ` Michael S. Tsirkin
2016-01-05 15:39           ` Christian Borntraeger
2016-01-04 20:18     ` Michael S. Tsirkin
2015-12-31 19:08 ` [PATCH v2 23/32] sh: define __smp_xxx, fix smp_store_mb for !SMP Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08 ` [PATCH v2 24/32] sparc: define __smp_xxx Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08 ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:08   ` Michael S. Tsirkin
2015-12-31 19:44   ` David Miller
2015-12-31 19:44   ` David Miller
2015-12-31 19:44     ` David Miller
2015-12-31 19:44     ` David Miller
2015-12-31 19:44     ` David Miller
2015-12-31 19:09 ` [PATCH v2 25/32] tile: " Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09 ` [PATCH v2 26/32] xtensa: " Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09 ` [PATCH v2 27/32] x86: " Michael S. Tsirkin
     [not found] ` <1451572003-2440-1-git-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-31 19:07   ` [PATCH v2 10/32] metag: reuse asm-generic/barrier.h Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2016-01-04 23:24     ` James Hogan
2016-01-04 23:24     ` James Hogan
2016-01-04 23:24       ` James Hogan
2016-01-04 23:24       ` James Hogan
2016-01-04 23:24       ` James Hogan
2016-01-04 23:24       ` James Hogan
2016-01-04 23:24       ` James Hogan
2016-01-04 23:24     ` James Hogan
2015-12-31 19:07   ` [PATCH v2 12/32] x86/um: " Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2016-01-05 23:12     ` Richard Weinberger
     [not found]     ` <1451572003-2440-13-git-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-01-05 23:12       ` Richard Weinberger
2016-01-05 23:12         ` Richard Weinberger
2016-01-05 23:12         ` Richard Weinberger
2016-01-05 23:12         ` Richard Weinberger
2016-01-05 23:12     ` Richard Weinberger
2015-12-31 19:07   ` [PATCH v2 14/32] asm-generic: add __smp_xxx wrappers Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2015-12-31 19:07     ` Michael S. Tsirkin
2015-12-31 19:08   ` [PATCH v2 20/32] metag: define __smp_xxx Michael S. Tsirkin
2015-12-31 19:08     ` Michael S. Tsirkin
2015-12-31 19:08     ` Michael S. Tsirkin
2015-12-31 19:08     ` Michael S. Tsirkin
2016-01-04 13:41     ` Peter Zijlstra
2016-01-04 13:41       ` Peter Zijlstra
2016-01-04 13:41       ` Peter Zijlstra
2016-01-04 13:41       ` Peter Zijlstra
2016-01-04 13:41       ` Peter Zijlstra
2016-01-04 15:25       ` James Hogan
2016-01-04 15:25       ` James Hogan
2016-01-04 15:25         ` James Hogan
2016-01-04 15:25         ` James Hogan
2016-01-04 15:25         ` James Hogan
2016-01-04 15:25         ` James Hogan
2016-01-04 15:25         ` James Hogan
2016-01-04 15:25         ` James Hogan
2016-01-04 15:30         ` Peter Zijlstra
2016-01-04 15:30         ` Peter Zijlstra
2016-01-04 15:30           ` Peter Zijlstra
2016-01-04 15:30           ` Peter Zijlstra
2016-01-04 15:30           ` Peter Zijlstra
2016-01-04 16:04           ` James Hogan
2016-01-04 16:04           ` James Hogan
2016-01-04 16:04             ` James Hogan
2016-01-04 16:04             ` James Hogan
2016-01-04 16:04             ` James Hogan
2016-01-04 16:04             ` James Hogan
2016-01-04 16:04             ` James Hogan
2016-01-04 16:04             ` James Hogan
2016-01-04 16:04           ` James Hogan
2016-01-04 15:25       ` James Hogan
2016-01-04 13:41     ` Peter Zijlstra
2016-01-05  0:09     ` James Hogan
2016-01-05  0:09       ` James Hogan
2016-01-05  0:09       ` James Hogan
2016-01-05  0:09       ` James Hogan
2016-01-05  0:09       ` James Hogan
2016-01-05  0:09       ` James Hogan
2016-01-05  0:09       ` James Hogan
2016-01-11 11:10       ` Michael S. Tsirkin
2016-01-11 11:10       ` Michael S. Tsirkin
     [not found]       ` <20160105000929.GM17861-4bYivNCBEGTR3KXKvIWQxtm+Uo4AYnCiHZ5vskTnxNA@public.gmane.org>
2016-01-11 11:10         ` Michael S. Tsirkin
2016-01-11 11:10           ` Michael S. Tsirkin
2016-01-11 11:10           ` Michael S. Tsirkin
2016-01-11 11:10           ` Michael S. Tsirkin
2016-01-11 11:10           ` Michael S. Tsirkin
2016-01-11 11:10           ` Michael S. Tsirkin
2016-01-05  0:09     ` James Hogan
2016-01-05  0:09     ` James Hogan
2015-12-31 19:09   ` [PATCH v2 27/32] x86: " Michael S. Tsirkin
2015-12-31 19:09     ` Michael S. Tsirkin
2015-12-31 19:09     ` Michael S. Tsirkin
2015-12-31 19:09     ` Michael S. Tsirkin
2015-12-31 19:09     ` Michael S. Tsirkin
2015-12-31 19:09     ` Michael S. Tsirkin
2015-12-31 19:09   ` [PATCH v2 31/32] sh: support a 2-byte smp_store_mb Michael S. Tsirkin
2015-12-31 19:09     ` Michael S. Tsirkin
2015-12-31 19:09     ` Michael S. Tsirkin
2015-12-31 19:09     ` Michael S. Tsirkin
2016-01-04 14:05     ` Peter Zijlstra
2016-01-04 14:05     ` Peter Zijlstra
2016-01-04 14:05     ` Peter Zijlstra
2016-01-04 14:05       ` Peter Zijlstra
2016-01-04 14:05       ` Peter Zijlstra
2016-01-05 23:27     ` Rich Felker
2016-01-05 23:27       ` Rich Felker
2016-01-06 11:19       ` Michael S. Tsirkin
2016-01-06 11:19         ` Michael S. Tsirkin
2016-01-06 11:40         ` Peter Zijlstra
2016-01-06 11:40           ` Peter Zijlstra
2016-01-06 11:52           ` Michael S. Tsirkin
2016-01-06 11:52             ` Michael S. Tsirkin
2016-01-06 14:32             ` Peter Zijlstra
2016-01-06 14:32               ` Peter Zijlstra
2016-01-06 15:42               ` Rob Landley
2016-01-06 15:42                 ` Rob Landley
2016-01-06 16:57                 ` Peter Zijlstra
2016-01-06 16:57                   ` Peter Zijlstra
2016-01-06 20:21                   ` Rob Landley
2016-01-06 20:21                     ` Rob Landley
2016-01-06 18:57                 ` Geert Uytterhoeven
2016-01-06 18:57                   ` Geert Uytterhoeven
2016-01-06 18:23               ` Rich Felker
2016-01-06 18:23                 ` Rich Felker
2016-01-06 20:23                 ` Michael S. Tsirkin
2016-01-06 20:23                   ` Michael S. Tsirkin
2016-01-06 23:53                   ` Rich Felker
2016-01-06 23:53                     ` Rich Felker
2016-01-07 13:37                     ` Peter Zijlstra
2016-01-07 13:37                       ` Peter Zijlstra
2016-01-07 19:05                       ` Rich Felker
2016-01-07 19:05                         ` Rich Felker
2016-01-07 15:50                     ` Michael S. Tsirkin
2016-01-07 15:50                       ` Michael S. Tsirkin
2016-01-07 17:48                     ` Michael S. Tsirkin [this message]
2016-01-07 17:48                       ` Michael S. Tsirkin
2016-01-07 19:10                       ` Rich Felker
2016-01-07 19:10                         ` Rich Felker
2016-01-07 22:41                         ` Michael S. Tsirkin
2016-01-07 22:41                           ` Michael S. Tsirkin
2016-01-08  4:25                           ` Rich Felker
2016-01-08  4:25                             ` Rich Felker
2016-01-08  7:23                             ` Michael S. Tsirkin
2016-01-08  7:23                               ` Michael S. Tsirkin
2016-01-06 22:14                 ` Michael S. Tsirkin
2016-01-06 22:14                   ` Michael S. Tsirkin
2015-12-31 19:10   ` [PATCH v2 33/34] xenbus: use virt_xxx barriers Michael S. Tsirkin
2015-12-31 19:10     ` Michael S. Tsirkin
2015-12-31 19:10     ` Michael S. Tsirkin
2015-12-31 19:10     ` Michael S. Tsirkin
2015-12-31 19:10     ` Michael S. Tsirkin
2015-12-31 19:10     ` Michael S. Tsirkin
2016-01-04 11:32     ` [Xen-devel] " David Vrabel
2016-01-04 11:32       ` David Vrabel
2016-01-04 11:32       ` David Vrabel
2016-01-04 11:32       ` David Vrabel
2016-01-04 11:32       ` David Vrabel
2016-01-04 11:32     ` David Vrabel
2016-01-04 11:32     ` David Vrabel
2016-01-04 12:03     ` Stefano Stabellini
2016-01-04 12:03     ` Stefano Stabellini
2016-01-04 12:03       ` Stefano Stabellini
2016-01-04 12:03       ` Stefano Stabellini
2016-01-04 12:03       ` Stefano Stabellini
2016-01-04 12:03       ` Stefano Stabellini
2016-01-04 12:03     ` Stefano Stabellini
2016-01-04 14:09     ` Peter Zijlstra
2016-01-04 14:09     ` Peter Zijlstra
     [not found]     ` <1451572003-2440-34-git-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-01-04 14:09       ` Peter Zijlstra
2016-01-04 14:09         ` Peter Zijlstra
2016-01-04 14:09         ` Peter Zijlstra
2016-01-04 14:09         ` Peter Zijlstra
2016-01-04 14:09         ` Peter Zijlstra
2016-01-04 14:09         ` Peter Zijlstra
2015-12-31 19:09 ` [PATCH v2 27/32] x86: define __smp_xxx Michael S. Tsirkin
2015-12-31 19:09 ` [PATCH v2 28/32] asm-generic: implement virt_xxx memory barriers Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09 ` [PATCH v2 29/32] Revert "virtio_ring: Update weak barriers to use dma_wmb/rmb" Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09 ` [PATCH v2 30/32] virtio_ring: update weak barriers to use __smp_XXX Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2016-01-01  9:39   ` [PATCH v2 30/32] virtio_ring: update weak barriers to use __smp_xxx Michael S. Tsirkin
2016-01-01  9:39   ` Michael S. Tsirkin
2016-01-01  9:39   ` Michael S. Tsirkin
2015-12-31 19:09   ` [PATCH v2 30/32] virtio_ring: update weak barriers to use __smp_XXX Michael S. Tsirkin
2016-01-01 10:21   ` [PATCH v2 30/32] virtio_ring: update weak barriers to use __smp_xxx Michael S. Tsirkin
2016-01-01 10:21   ` Michael S. Tsirkin
2016-01-01 10:21     ` Michael S. Tsirkin
2016-01-01 10:21     ` Michael S. Tsirkin
2016-01-01 10:21   ` Michael S. Tsirkin
2015-12-31 19:09 ` [PATCH v2 31/32] sh: support a 2-byte smp_store_mb Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09 ` [PATCH v2 32/32] virtio_ring: use virt_store_mb Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09 ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2015-12-31 19:09   ` Michael S. Tsirkin
2016-01-01 17:23   ` Sergei Shtylyov
2016-01-01 17:23   ` Sergei Shtylyov
2016-01-01 17:23     ` Sergei Shtylyov
2016-01-01 17:23     ` Sergei Shtylyov
2016-01-01 17:23     ` Sergei Shtylyov
2016-01-03  9:01     ` Michael S. Tsirkin
     [not found]     ` <5686B622.6070600-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-01-03  9:01       ` Michael S. Tsirkin
2016-01-03  9:01         ` Michael S. Tsirkin
2016-01-03  9:01         ` Michael S. Tsirkin
2016-01-03  9:01         ` Michael S. Tsirkin
2016-01-03  9:01     ` Michael S. Tsirkin
2015-12-31 19:10 ` [PATCH v2 33/34] xenbus: use virt_xxx barriers Michael S. Tsirkin
2015-12-31 19:10 ` Michael S. Tsirkin
2015-12-31 19:10 ` [PATCH v2 34/34] xen/io: " Michael S. Tsirkin
2015-12-31 19:10 ` Michael S. Tsirkin
2015-12-31 19:10   ` Michael S. Tsirkin
2015-12-31 19:10   ` Michael S. Tsirkin
2015-12-31 19:10   ` Michael S. Tsirkin
2015-12-31 19:10   ` Michael S. Tsirkin
2015-12-31 19:10   ` Michael S. Tsirkin
2016-01-04 11:32   ` David Vrabel
2016-01-04 11:32   ` [Xen-devel] " David Vrabel
2016-01-04 11:32     ` David Vrabel
2016-01-04 11:32     ` David Vrabel
2016-01-04 11:32     ` David Vrabel
2016-01-04 11:32     ` David Vrabel
2016-01-04 11:32   ` David Vrabel
2016-01-04 12:05   ` Stefano Stabellini
2016-01-04 12:05   ` Stefano Stabellini
     [not found]   ` <1451572003-2440-35-git-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-01-04 12:05     ` Stefano Stabellini
2016-01-04 12:05       ` Stefano Stabellini
2016-01-04 12:05       ` Stefano Stabellini
2016-01-04 12:05       ` Stefano Stabellini
2016-01-04 12:05       ` Stefano Stabellini
2015-12-31 19:10 ` Michael S. Tsirkin
2016-01-01  9:39 ` [PATCH v2 30/32] virtio_ring: update weak barriers to use __smp_xxx Michael S. Tsirkin

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=20160107175944-mutt-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=dalias@libc.org \
    --cc=jeff@uclinux.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=rob@landley.net \
    --cc=ysato@users.sourceforge.jp \
    /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.