From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756045AbbJAPJO (ORCPT ); Thu, 1 Oct 2015 11:09:14 -0400 Received: from e35.co.us.ibm.com ([32.97.110.153]:56108 "EHLO e35.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753031AbbJAPJM (ORCPT ); Thu, 1 Oct 2015 11:09:12 -0400 X-IBM-Helo: d03dlp01.boulder.ibm.com X-IBM-MailFrom: paulmck@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org Date: Thu, 1 Oct 2015 08:09:09 -0700 From: "Paul E. McKenney" To: Peter Zijlstra Cc: Boqun Feng , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Ingo Molnar , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Thomas Gleixner , Will Deacon , Waiman Long Subject: Re: [RFC v2 4/7] powerpc: atomic: Implement xchg_* and atomic{,64}_xchg_* variants Message-ID: <20151001150909.GC4043@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <1442418575-12297-1-git-send-email-boqun.feng@gmail.com> <1442418575-12297-5-git-send-email-boqun.feng@gmail.com> <20151001122440.GP2881@worktop.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151001122440.GP2881@worktop.programming.kicks-ass.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15100115-0013-0000-0000-000018FCF7A3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 01, 2015 at 02:24:40PM +0200, Peter Zijlstra wrote: > On Wed, Sep 16, 2015 at 11:49:32PM +0800, Boqun Feng wrote: > > Implement xchg_relaxed and define atomic{,64}_xchg_* as xchg_relaxed, > > based on these _relaxed variants, release/acquire variants can be built. > > > > Note that xchg_relaxed and atomic_{,64}_xchg_relaxed are not compiler > > barriers. > > Hmm, and I note your previous patch creating the regular _relaxed > thingies also removes the memory clobber. > > And looking at the ARM _relaxed patch from Will, I see their _relaxed > ops are also not a compiler barrier. > > I must say I'm somewhat surprised by this level of relaxation, I had > expected to only loose SMP barriers, not the program order ones. > > Is there a good argument for this? Yes, when we say "relaxed", we really mean relaxed. ;-) Both the CPU and the compiler are allowed to reorder around relaxed operations. Thanx, Paul