From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Paul E. McKenney" Subject: Re: bit fields && data tearing Date: Fri, 5 Sep 2014 13:09:26 -0700 Message-ID: <20140905200926.GW5001@linux.vnet.ibm.com> References: <063D6719AE5E284EB5DD2968C1650D6D17487172@AcuExch.aculab.com> <1409824374.4246.62.camel@pasglop> <5408E458.3@zytor.com> <54090AF4.7060406@hurleysoftware.com> <54091B30.2090509@zytor.com> <20140905081648.GB5281@omega> <20140905180950.GU5001@linux.vnet.ibm.com> <540A05F7.1070202@hurleysoftware.com> <20140905190506.GV5001@linux.vnet.ibm.com> <540A0DF3.8030802@hurleysoftware.com> Reply-To: paulmck@linux.vnet.ibm.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <540A0DF3.8030802@hurleysoftware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" To: Peter Hurley Cc: Jakub Jelinek , "linux-arch@vger.kernel.org" , Tony Luck , "linux-ia64@vger.kernel.org" , Michael Cree , linux-alpha@vger.kernel.org, Oleg Nesterov , "linux-kernel@vger.kernel.org" , David Laight , Paul Mackerras , "H. Peter Anvin" , "linuxppc-dev@lists.ozlabs.org" , Miroslav Franc , Richard Henderson List-Id: linux-arch.vger.kernel.org T24gRnJpLCBTZXAgMDUsIDIwMTQgYXQgMDM6MjQ6MzVQTSAtMDQwMCwgUGV0ZXIgSHVybGV5IHdy b3RlOgo+IE9uIDA5LzA1LzIwMTQgMDM6MDUgUE0sIFBhdWwgRS4gTWNLZW5uZXkgd3JvdGU6Cj4g PiBPbiBGcmksIFNlcCAwNSwgMjAxNCBhdCAwMjo1MDozMVBNIC0wNDAwLCBQZXRlciBIdXJsZXkg d3JvdGU6Cj4gPj4gT24gMDkvMDUvMjAxNCAwMjowOSBQTSwgUGF1bCBFLiBNY0tlbm5leSB3cm90 ZToKPiAKPiBbY3V0XQo+IAo+ID4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+Pj4KPiA+Pj4gZG9jdW1l bnRhdGlvbjogUmVjb3JkIGxpbWl0YXRpb25zIG9mIGJpdGZpZWxkcyBhbmQgc21hbGwgdmFyaWFi bGVzCj4gPj4+Cj4gPj4+IFRoaXMgY29tbWl0IGRvY3VtZW50cyB0aGUgZmFjdCB0aGF0IGl0IGlz IG5vdCBzYWZlIHRvIHVzZSBiaXRmaWVsZHMgYXMKPiA+Pj4gc2hhcmVkIHZhcmlhYmxlcyBpbiBz eW5jaHJvbml6YXRpb24gYWxnb3JpdGhtcy4gIEl0IGFsc28gZG9jdW1lbnRzIHRoYXQKPiA+Pj4g Q1BVcyBtdXN0IHByb3ZpZGUgb25lLWJ5dGUgYW5kIHR3by1ieXRlIGxvYWQgYW5kIHN0b3JlIGlu c3RydWN0aW9ucwo+ID4+ICAgICAgICAgICAgICAgICAgICBeCj4gPj4gICAgICAgICAgICAgICAg IGF0b21pYwo+ID4gCj4gPiBIZXJlIHlvdSBtZWFudCBub24tYXRvbWljPyAgTXkgZ3Vlc3MgaXMg dGhhdCB5b3UgYXJlIHJlZmVycmluZyB0byB0aGUKPiA+IGZhY3QgdGhhdCB5b3UgY291bGQgZW11 bGF0ZSBhIG9uZS1ieXRlIHN0b3JlIG9uIHByZS1FVjU2IEFscGhhIENQVXMKPiA+IHVzaW5nIHRo ZSBsbCBhbmQgc2MgYXRvbWljLXJlYWQtbW9kaWZ5LXdyaXRlIGluc3RydWN0aW9ucywgY29ycmVj dD8KPiAKPiBZZXMsIHRoYXQncyB3aGF0IEkgbWVhbnQuIEkgbXVzdCBiZSB0aXJlZCBhbmQgYW0g bWlzcmVhZGluZyB0aGUgY29tbWl0Cj4gbWVzc2FnZSwgb3IgbWlzaW50ZXJwcmV0aW5nIGl0J3Mg bWVhbmluZy4KClZlcnkgZ29vZCwgZ290IGl0IQoKCQkJCQkJCVRoYW54LCBQYXVsCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eHBwYy1kZXYgbWFp bGluZyBsaXN0CkxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnCmh0dHBzOi8vbGlzdHMub3ps YWJzLm9yZy9saXN0aW5mby9saW51eHBwYy1kZXY= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e37.co.us.ibm.com ([32.97.110.158]:39899 "EHLO e37.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752279AbaIEUJd (ORCPT ); Fri, 5 Sep 2014 16:09:33 -0400 Received: from /spool/local by e37.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 5 Sep 2014 14:09:32 -0600 Date: Fri, 5 Sep 2014 13:09:26 -0700 From: "Paul E. McKenney" Subject: Re: bit fields && data tearing Message-ID: <20140905200926.GW5001@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <063D6719AE5E284EB5DD2968C1650D6D17487172@AcuExch.aculab.com> <1409824374.4246.62.camel@pasglop> <5408E458.3@zytor.com> <54090AF4.7060406@hurleysoftware.com> <54091B30.2090509@zytor.com> <20140905081648.GB5281@omega> <20140905180950.GU5001@linux.vnet.ibm.com> <540A05F7.1070202@hurleysoftware.com> <20140905190506.GV5001@linux.vnet.ibm.com> <540A0DF3.8030802@hurleysoftware.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <540A0DF3.8030802@hurleysoftware.com> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Peter Hurley Cc: Michael Cree , "H. Peter Anvin" , Benjamin Herrenschmidt , David Laight , Jakub Jelinek , "linux-arch@vger.kernel.org" , Tony Luck , "linux-ia64@vger.kernel.org" , Oleg Nesterov , "linux-kernel@vger.kernel.org" , Paul Mackerras , "linuxppc-dev@lists.ozlabs.org" , Miroslav Franc , Richard Henderson , linux-alpha@vger.kernel.org Message-ID: <20140905200926.n0S4-59lFXXE2E4i0es7Eawb596Nyw5odHnwIj1grGM@z> On Fri, Sep 05, 2014 at 03:24:35PM -0400, Peter Hurley wrote: > On 09/05/2014 03:05 PM, Paul E. McKenney wrote: > > On Fri, Sep 05, 2014 at 02:50:31PM -0400, Peter Hurley wrote: > >> On 09/05/2014 02:09 PM, Paul E. McKenney wrote: > > [cut] > > >>> ------------------------------------------------------------------------ > >>> > >>> documentation: Record limitations of bitfields and small variables > >>> > >>> This commit documents the fact that it is not safe to use bitfields as > >>> shared variables in synchronization algorithms. It also documents that > >>> CPUs must provide one-byte and two-byte load and store instructions > >> ^ > >> atomic > > > > Here you meant non-atomic? My guess is that you are referring to the > > fact that you could emulate a one-byte store on pre-EV56 Alpha CPUs > > using the ll and sc atomic-read-modify-write instructions, correct? > > Yes, that's what I meant. I must be tired and am misreading the commit > message, or misinterpreting it's meaning. Very good, got it! Thanx, Paul