From mboxrd@z Thu Jan 1 00:00:00 1970 From: paulmck@linux.vnet.ibm.com (Paul E. McKenney) Date: Thu, 9 Jun 2011 09:43:08 -0700 Subject: [ltt-dev] [PATCH] arm: remove useless declarations In-Reply-To: <4DF0D7E8.106@redhat.com> References: <1307627865-31969-4-git-send-email-pbonzini@redhat.com> <4DF0D7E8.106@redhat.com> Message-ID: <20110609164307.GE2285@linux.vnet.ibm.com> On Thu, Jun 09, 2011 at 04:25:44PM +0200, Paolo Bonzini wrote: > On 06/09/2011 04:21 PM, Mathieu Desnoyers wrote: > >I'd first like to understand why Paul chose to override the generic > >versions of these macros. There is a change in what you map to: > > > >__sync_val_compare_and_swap -> __sync_val_compare_and_swap_1/2/4/8 > > > >__sync_add_and_fetch -> __sync_add_and_fetch_1/2/4/8 > > > >Were there any problems with the _N variants on some ARM compilers ? > > The non-"_N" variants do not exist outside the back-end (they are > mapped to the "_N" variants by target-independent parts of the > compiler), but I agree that Paul's ack is good to have. In some of the older versions of ARM Linux and toolchain, many of which are unfortunately still in heavy use, the __sync_synchronize() primitive was broken (as in was a no-op), but from what I can see the others worked just fine. Thanx, Paul