From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754142AbcFPKNm (ORCPT ); Thu, 16 Jun 2016 06:13:42 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:58315 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752653AbcFPKNk (ORCPT ); Thu, 16 Jun 2016 06:13:40 -0400 Date: Thu, 16 Jun 2016 12:13:09 +0200 From: Peter Zijlstra To: Geert Uytterhoeven Cc: Linus Torvalds , Ingo Molnar , Thomas Gleixner , Will Deacon , Paul McKenney , boqun.feng@gmail.com, waiman.long@hpe.com, =?iso-8859-1?Q?Fr=E9d=E9ric?= Weisbecker , "linux-kernel@vger.kernel.org" , Linux-Arch , Richard Henderson , Vineet Gupta , Russell King , Hans-Christian Noren Egtvedt , Miao Steven , Yoshinori Sato , Richard Kuo , Tony Luck , James Hogan , Ralf Baechle , David Howells , "James E.J. Bottomley" , Michael Ellerman , Martin Schwidefsky , Rich Felker , "David S. Miller" , cmetcalf@mellanox.com, Max Filippov , Arnd Bergmann , dbueso@suse.de, Wu Fengguang , linux-m68k Subject: Re: [PATCH -v2 14/33] locking,m68k: Implement atomic_fetch_{add,sub,and,or,xor}() Message-ID: <20160616101309.GD30921@twins.programming.kicks-ass.net> References: <20160531101925.702692792@infradead.org> <20160531102642.333689893@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 16, 2016 at 12:08:27PM +0200, Geert Uytterhoeven wrote: > > #ifdef CONFIG_RMW_INSNS > > > > +/* > > + * Am I reading these CAS loops right in that %2 is the old value and the first > > + * iteration uses an uninitialized value? > > + * > > + * Would it not make sense to add: tmp = atomic_read(v); to avoid this? > > + */ > > + > > #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ > > static inline int atomic_##op##_return(int i, atomic_t *v) \ > > { \ > > Do we want the above comment in the code? I figured it would not hurt; is this indeed the case, do we want to fix it? I can do a follow up patch clarifying the situation. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Subject: Re: [PATCH -v2 14/33] locking,m68k: Implement atomic_fetch_{add,sub,and,or,xor}() Date: Thu, 16 Jun 2016 12:13:09 +0200 Message-ID: <20160616101309.GD30921@twins.programming.kicks-ass.net> References: <20160531101925.702692792@infradead.org> <20160531102642.333689893@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from bombadil.infradead.org ([198.137.202.9]:58315 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752653AbcFPKNk (ORCPT ); Thu, 16 Jun 2016 06:13:40 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-arch-owner@vger.kernel.org List-ID: To: Geert Uytterhoeven Cc: Linus Torvalds , Ingo Molnar , Thomas Gleixner , Will Deacon , Paul McKenney , boqun.feng@gmail.com, waiman.long@hpe.com, =?iso-8859-1?Q?Fr=E9d=E9ric?= Weisbecker , "linux-kernel@vger.kernel.org" , Linux-Arch , Richard Henderson , Vineet Gupta , Russell King , Hans-Christian Noren Egtvedt , Miao Steven , Yoshinori Sato , Richard Kuo , Tony Luck , James Hogan , Ralf Baechle , David Howells , "James E.J. Bottomley" On Thu, Jun 16, 2016 at 12:08:27PM +0200, Geert Uytterhoeven wrote: > > #ifdef CONFIG_RMW_INSNS > > > > +/* > > + * Am I reading these CAS loops right in that %2 is the old value and the first > > + * iteration uses an uninitialized value? > > + * > > + * Would it not make sense to add: tmp = atomic_read(v); to avoid this? > > + */ > > + > > #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ > > static inline int atomic_##op##_return(int i, atomic_t *v) \ > > { \ > > Do we want the above comment in the code? I figured it would not hurt; is this indeed the case, do we want to fix it? I can do a follow up patch clarifying the situation. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org ([198.137.202.9]:58315 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752653AbcFPKNk (ORCPT ); Thu, 16 Jun 2016 06:13:40 -0400 Date: Thu, 16 Jun 2016 12:13:09 +0200 From: Peter Zijlstra Subject: Re: [PATCH -v2 14/33] locking,m68k: Implement atomic_fetch_{add,sub,and,or,xor}() Message-ID: <20160616101309.GD30921@twins.programming.kicks-ass.net> References: <20160531101925.702692792@infradead.org> <20160531102642.333689893@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-arch-owner@vger.kernel.org List-ID: To: Geert Uytterhoeven Cc: Linus Torvalds , Ingo Molnar , Thomas Gleixner , Will Deacon , Paul McKenney , boqun.feng@gmail.com, waiman.long@hpe.com, =?iso-8859-1?Q?Fr=E9d=E9ric?= Weisbecker , "linux-kernel@vger.kernel.org" , Linux-Arch , Richard Henderson , Vineet Gupta , Russell King , Hans-Christian Noren Egtvedt , Miao Steven , Yoshinori Sato , Richard Kuo , Tony Luck , James Hogan , Ralf Baechle , David Howells , "James E.J. Bottomley" , Michael Ellerman , Martin Schwidefsky , Rich Felker , "David S. Miller" , cmetcalf@mellanox.com, Max Filippov , Arnd Bergmann , dbueso@suse.de, Wu Fengguang , linux-m68k Message-ID: <20160616101309.L_HEWlhUS2scpv86hzV6rAOMKFIGeEUbSGSEi7_K2vY@z> On Thu, Jun 16, 2016 at 12:08:27PM +0200, Geert Uytterhoeven wrote: > > #ifdef CONFIG_RMW_INSNS > > > > +/* > > + * Am I reading these CAS loops right in that %2 is the old value and the first > > + * iteration uses an uninitialized value? > > + * > > + * Would it not make sense to add: tmp = atomic_read(v); to avoid this? > > + */ > > + > > #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ > > static inline int atomic_##op##_return(int i, atomic_t *v) \ > > { \ > > Do we want the above comment in the code? I figured it would not hurt; is this indeed the case, do we want to fix it? I can do a follow up patch clarifying the situation.