From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3qhBWF44MlzDq6v for ; Fri, 8 Apr 2016 17:52:09 +1000 (AEST) Date: Fri, 8 Apr 2016 09:47:44 +0200 From: Peter Zijlstra To: Pan Xinhui Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Boqun Feng , Thomas Gleixner Subject: Re: [PATCH] powerpc: introduce {cmp}xchg for u8 and u16 Message-ID: <20160408074744.GU3430@twins.programming.kicks-ass.net> References: <570752AA.9050603@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <570752AA.9050603@linux.vnet.ibm.com> List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Fri, Apr 08, 2016 at 02:41:46PM +0800, Pan Xinhui wrote: > From: pan xinhui > > Implement xchg{u8,u16}{local,relaxed}, and > cmpxchg{u8,u16}{,local,acquire,relaxed}. > > Atomic operation on 8-bit and 16-bit data type is supported from power7 And yes I see nothing P7 specific here, this implementation is for everything PPC64 afaict, no? Also, note that you don't need explicit 8/16 bit atomics to implement these. Its fine to use 32bit atomics and only modify half the word. Also, you might want to invest in some CPP to reduce the endless repetition. Other than that, no objections :-)