From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17747 invoked by alias); 18 Feb 2014 17:17:54 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 17735 invoked by uid 89); 18 Feb 2014 17:17:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL,BAYES_00,KHOP_BIG_TO_CC,RP_MATCHES_RCVD,T_FRT_OPPORTUN1 autolearn=no version=3.3.2 X-HELO: e34.co.us.ibm.com Received: from e34.co.us.ibm.com (HELO e34.co.us.ibm.com) (32.97.110.152) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Tue, 18 Feb 2014 17:17:53 +0000 Received: from /spool/local by e34.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 18 Feb 2014 10:17:51 -0700 Received: from d03dlp02.boulder.ibm.com (9.17.202.178) by e34.co.us.ibm.com (192.168.1.134) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 18 Feb 2014 10:17:48 -0700 Received: from b03cxnp08028.gho.boulder.ibm.com (b03cxnp08028.gho.boulder.ibm.com [9.17.130.20]) by d03dlp02.boulder.ibm.com (Postfix) with ESMTP id 20D973E40045 for ; Tue, 18 Feb 2014 10:17:48 -0700 (MST) Received: from d03av06.boulder.ibm.com (d03av06.boulder.ibm.com [9.17.195.245]) by b03cxnp08028.gho.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s1IHHms38323344 for ; Tue, 18 Feb 2014 18:17:48 +0100 Received: from d03av06.boulder.ibm.com (loopback [127.0.0.1]) by d03av06.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id s1IHLBmP029966 for ; Tue, 18 Feb 2014 10:21:12 -0700 Received: from paulmck-ThinkPad-W500 ([9.70.82.174]) by d03av06.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id s1IHLBAf029940; Tue, 18 Feb 2014 10:21:11 -0700 Received: by paulmck-ThinkPad-W500 (Postfix, from userid 1000) id D69E6380C30; Tue, 18 Feb 2014 09:17:46 -0800 (PST) Date: Tue, 18 Feb 2014 17:17:00 -0000 From: "Paul E. McKenney" To: Mark Batty Cc: Peter Sewell , peterz@infradead.org, Torvald Riegel , torvalds@linux-foundation.org, Will Deacon , Ramana.Radhakrishnan@arm.com, dhowells@redhat.com, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, mingo@kernel.org, gcc@gcc.gnu.org Subject: Re: [RFC][PATCH 0/5] arch: atomic rework Message-ID: <20140218171746.GQ4250@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <20140218145645.GK4250@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14021817-1542-0000-0000-0000065B54EF X-SW-Source: 2014-02/txt/msg00317.txt.bz2 On Tue, Feb 18, 2014 at 03:16:33PM +0000, Mark Batty wrote: > Hi Paul, > > Thanks for the document. I'm looking forward to reading the bits about > dependency chains in Linux. And I am looking forward to your thoughts on those bits! > > One point of confusion for me... Example 4 says "language must allow". > > Shouldn't that be "language is permitted to allow"? > > When we say "allow", we mean that the optimised execution should be > allowed by the specification, and Implicitly, the unoptimised > execution should remain allowed too. We want to be concrete about what > the language specification allows, and that's why we say "must". It is > not to disallow the unoptimised execution. OK, got it! Thanx, Paul > > Seems like an > > implementation is always within its rights to avoid an optimization if > > its implementation prevents it from safely detecting the oppportunity > > for that optimization. > > That's right. > > - Mark > > > > Or am I missing something here? > > > > Thanx, Paul > > >