Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751946Ab1BNSDX (ORCPT ); Mon, 14 Feb 2011 13:03:23 -0500 Received: from casper.infradead.org ([85.118.1.10]:44565 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751254Ab1BNSDT (ORCPT ); Mon, 14 Feb 2011 13:03:19 -0500 Subject: Re: [PATCH 0/2] jump label: 2.6.38 updates From: Peter Zijlstra To: Will Newton Cc: Steven Rostedt , Jason Baron , Mathieu Desnoyers , hpa@zytor.com, mingo@elte.hu, tglx@linutronix.de, andi@firstfloor.org, roland@redhat.com, rth@redhat.com, masami.hiramatsu.pt@hitachi.com, fweisbec@gmail.com, avi@redhat.com, davem@davemloft.net, sam@ravnborg.org, ddaney@caviumnetworks.com, michael@ellerman.id.au, linux-kernel@vger.kernel.org, Mike Frysinger , Chris Metcalf , dhowells , Martin Schwidefsky , "heiko.carstens" , benh In-Reply-To: References: <1297452328.5226.89.camel@laptop> <1297460297.5226.99.camel@laptop> <1297536465.5226.108.camel@laptop> <20110214155113.GA2840@redhat.com> <1297699024.2401.12.camel@twins> <20110214160437.GB2840@redhat.com> <1297700754.5226.110.camel@laptop> <20110214162947.GA3449@redhat.com> <1297701438.5226.113.camel@laptop> <1297702013.23343.51.camel@gandalf.stny.rr.com> <1297703892.23343.71.camel@gandalf.stny.rr.com> <1297704447.5226.127.camel@laptop> <1297705428.5226.142.camel@laptop> Content-Type: text/plain; charset="UTF-8" Date: Mon, 14 Feb 2011 19:04:27 +0100 Message-ID: <1297706667.5226.165.camel@laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1724 Lines: 38 On Mon, 2011-02-14 at 17:50 +0000, Will Newton wrote: > On Mon, Feb 14, 2011 at 5:43 PM, Peter Zijlstra wrote: > > On Mon, 2011-02-14 at 17:38 +0000, Will Newton wrote: > >> On Mon, Feb 14, 2011 at 5:27 PM, Peter Zijlstra wrote: > >> > >> >> So all but a few have basically (as you said on IRC) > >> >> #define atomic_read(v) ACCESS_ONCE(v) > >> > > >> > ACCESS_ONCE(v->counter), but yeah :-) > >> > >> I maintain an out-of-tree architecture where that isn't the case > >> unfortunately [1]. Not expecting any special favours for being > >> out-of-tree of course, but just thought I would add that data point. > >> > >> [1] Our atomic operations go around the cache rather than through it, > >> so the value of an atomic cannot be read with a normal load > >> instruction. > > > > Cannot how? It would observe a stale value? That is acceptable for > > atomic_read(). > > It would observe a stale value, but that value would only be updated > when the cache line was reloaded from main memory which would have to > be triggered by either eviction or cache flushing. So it could get > pretty stale. Whilst that's probably within the spec. of atomic_read I > suspect it would lead to problems in practice. I could be wrong > though. Arguable, finding such cases would be a Good (TM) thing.. but yeah, I can imagine you're not too keen on being the one finding them. Luckily it looks like you're in the same boat as blackfin-smp is. -- 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/