Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757179AbbGQJkX (ORCPT ); Fri, 17 Jul 2015 05:40:23 -0400 Received: from foss.arm.com ([217.140.101.70]:47862 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751586AbbGQJkW (ORCPT ); Fri, 17 Jul 2015 05:40:22 -0400 Date: Fri, 17 Jul 2015 10:40:14 +0100 From: Will Deacon To: Waiman Long Cc: "linux-arch@vger.kernel.org" , "peterz@infradead.org" , "linux-kernel@vger.kernel.org" , "paulmck@linux.vnet.ibm.com" Subject: Re: [PATCH v2 1/7] atomics: add acquire/release/relaxed variants of some atomic operations Message-ID: <20150717094014.GD18994@arm.com> References: <1437060758-10381-1-git-send-email-will.deacon@arm.com> <1437060758-10381-2-git-send-email-will.deacon@arm.com> <55A84740.7080705@hp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55A84740.7080705@hp.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2348 Lines: 76 Hi Waiman, On Fri, Jul 17, 2015 at 01:07:28AM +0100, Waiman Long wrote: > On 07/16/2015 11:32 AM, Will Deacon wrote: > > +#ifndef atomic64_add_return_relaxed > > +#define atomic64_add_return_relaxed atomic64_add_return > > +#define atomic64_add_return_acquire atomic64_add_return > > +#define atomic64_add_return_release atomic64_add_return > > + > > +#else /* atomic64_add_return_relaxed */ > > + > > +#ifndef atomic64_add_return_acquire > > +#define atomic64_add_return_acquire(...) \ > > + __atomic_op_acquire(long long, atomic64_add_return, __VA_ARGS__) > > +#endif > > + > > +#ifndef atomic64_add_return_release > > +#define atomic64_add_return_release(...) \ > > + __atomic_op_release(long long, atomic64_add_return, __VA_ARGS__) > > +#endif > > + > > +#ifndef atomic64_add_return > > +#define atomic64_add_return(...) \ > > + __atomic_op_fence(long long, atomic64_add_return, __VA_ARGS__) > > +#endif > > +#endif /* atomic64_add_return_relaxed */ > > + > > I have a minor nit. The atomic_add_return block is repeated with > "s/atomic_add_return/.../". Perhaps some more comments to delineate the > blocks more visibly will make this patch easier to read. Yeah, I agree that it's pretty hard going, but I don't have any great suggestions to solve that. I could add an extra blank line + comment before the start of each section, if you like? Example snippet below. Will --->8 [...] #endif /* atomic_sub_return_relaxed */ /* atomic_xchg_relaxed */ #ifndef atomic_xchg_relaxed #define atomic_xchg_relaxed atomic_xchg #define atomic_xchg_acquire atomic_xchg #define atomic_xchg_release atomic_xchg #else /* atomic_xchg_relaxed */ #ifndef atomic_xchg_acquire #define atomic_xchg_acquire(...) \ __atomic_op_acquire(int, atomic_xchg, __VA_ARGS__) #endif #ifndef atomic_xchg_release #define atomic_xchg_release(...) \ __atomic_op_release(int, atomic_xchg, __VA_ARGS__) #endif #ifndef atomic_xchg #define atomic_xchg(...) \ __atomic_op_fence(int, atomic_xchg, __VA_ARGS__) #endif #endif /* atomic_xchg_relaxed */ /* atomic_cmpxchg_relaxed */ [...] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/