Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755147AbbGQRT7 (ORCPT ); Fri, 17 Jul 2015 13:19:59 -0400 Received: from g2t2352.austin.hp.com ([15.217.128.51]:37297 "EHLO g2t2352.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752521AbbGQRT6 (ORCPT ); Fri, 17 Jul 2015 13:19:58 -0400 Message-ID: <55A9393A.403@hp.com> Date: Fri, 17 Jul 2015 13:19:54 -0400 From: Waiman Long User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130109 Thunderbird/10.0.12 MIME-Version: 1.0 To: Will Deacon 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 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> <20150717094014.GD18994@arm.com> In-Reply-To: <20150717094014.GD18994@arm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2686 Lines: 89 On 07/17/2015 05:40 AM, Will Deacon wrote: > 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 */ > [...] Something like /* BEGIN atomc_xchg_relax */ ... /* END atomic_xchg_relax */ may help. Alternatively, I sometimes add a line separator like /*===================[ atomic_xchg_relax ]====================*/ Cheers, Longman -- 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/