From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752852AbcAGTGM (ORCPT ); Thu, 7 Jan 2016 14:06:12 -0500 Received: from 216-12-86-13.cv.mvl.ntelos.net ([216.12.86.13]:50723 "EHLO brightrain.aerifal.cx" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751679AbcAGTGJ (ORCPT ); Thu, 7 Jan 2016 14:06:09 -0500 Date: Thu, 7 Jan 2016 14:05:35 -0500 From: Rich Felker To: Peter Zijlstra Cc: "Michael S. Tsirkin" , linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org, Rob Landley , Jeff Dionne , Yoshinori Sato Subject: Re: [PATCH v2 31/32] sh: support a 2-byte smp_store_mb Message-ID: <20160107190535.GF238@brightrain.aerifal.cx> References: <1451572003-2440-32-git-send-email-mst@redhat.com> <20160105232735.GC238@brightrain.aerifal.cx> <20160106131321-mutt-send-email-mst@redhat.com> <20160106114023.GU6344@twins.programming.kicks-ass.net> <20160106134301-mutt-send-email-mst@redhat.com> <20160106143218.GV6344@twins.programming.kicks-ass.net> <20160106182349.GD238@brightrain.aerifal.cx> <20160106222019-mutt-send-email-mst@redhat.com> <20160106235301.GA23060@brightrain.aerifal.cx> <20160107133749.GY6344@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160107133749.GY6344@twins.programming.kicks-ass.net> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 07, 2016 at 02:37:49PM +0100, Peter Zijlstra wrote: > On Wed, Jan 06, 2016 at 06:53:01PM -0500, Rich Felker wrote: > > It would be nice to have these in asm-generic for archs which don't > > define their own versions rather than having cruft like this repeated > > per-arch. > > Maybe, but I'm not sure how many archs would indeed suffer this problem, > so far I'm only aware of Alpha and SH that do not have short atomic ops. Apparently original armv6 (non-k) lacked u8 and u16 variants of ldrex/strex. I'm pretty sure or1k also lacks them, and mips, microblaze, and some powerpc versions might too. Not sure about risc-v. > > Strictly speaking, the volatile u32 used to access the > > 32-bit word containing the u8 or u16 should be > > __attribute__((__may_alias__)) too. Is there an existing kernel type > > for a "may_alias u32" or should it perhaps be added? > > The kernel does -fno-strict-aliasing because the C aliasing rules are > crap (TM) :-), so I suspect we do not need the alias attribute here. I suspect working on the kernel I'm going to have to get used to getting "corrected" for writing proper C... ;-) Rich