[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190227101925.GK32494@hirez.programming.kicks-ass.net>
Date: Wed, 27 Feb 2019 11:19:25 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Will Deacon <will.deacon@....com>,
linux-arch <linux-arch@...r.kernel.org>,
Linux List Kernel Mailing <linux-kernel@...r.kernel.org>,
"Paul E. McKenney" <paulmck@...ux.ibm.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Michael Ellerman <mpe@...erman.id.au>,
Arnd Bergmann <arnd@...db.de>,
Andrea Parri <andrea.parri@...rulasolutions.com>,
Palmer Dabbelt <palmer@...ive.com>,
Daniel Lustig <dlustig@...dia.com>,
David Howells <dhowells@...hat.com>,
Alan Stern <stern@...land.harvard.edu>,
"Maciej W. Rozycki" <macro@...ux-mips.org>,
Paul Burton <paul.burton@...s.com>,
Ingo Molnar <mingo@...nel.org>,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Rich Felker <dalias@...c.org>, Tony Luck <tony.luck@...el.com>
Subject: Re: [RFC PATCH 01/20] asm-generic/mmiowb: Add generic implementation
of mmiowb() tracking
On Tue, Feb 26, 2019 at 11:02:50AM -0800, Linus Torvalds wrote:
> On Tue, Feb 26, 2019 at 10:33 AM Peter Zijlstra <peterz@...radead.org> wrote:
> >
> > Arguably we could fix that for __this_cpu_xchg(), which isn't IRQ-safe.
>
> Yeah, I guess x86 _should_ really do __this_cpu_xchg() as just a
> read-write pair.
See the patches I just send.
> In general, a read-write pair is probably always the right thing to
> do, and the only reason we can't just do it in an
> architecture-independent way is that we'd want to avoid doing the
> address generation twice (for architectures where that is an issue).
The generic code has this right, see
include/asm-generic/percpu.h:raw_cpu_generic_xchg().
That is used in the majority of the architectures. With the patch I just
send, x86 will use two gs prefixed movs.
Powered by blists - more mailing lists