From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9865 invoked by alias); 29 Aug 2014 21:52:31 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 9855 invoked by uid 89); 29 Aug 2014 21:52:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: topped-with-meat.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Roland McGrath To: Adhemerval Zanella Cc: libc-alpha@sourceware.org Subject: Re: Future atomic operation cleanup In-Reply-To: Adhemerval Zanella's message of Friday, 29 August 2014 10:32:15 -0300 <540080DF.6030205@linux.vnet.ibm.com> References: <53F74A93.30508@linux.vnet.ibm.com> <53F74CE4.5070809@twiddle.net> <53FF3551.8020503@linux.vnet.ibm.com> <1409240266.6045.62.camel@triegel.csb> <53FF5889.5080006@linux.vnet.ibm.com> <1409306115.6045.71.camel@triegel.csb> <54005FAA.9000802@linux.vnet.ibm.com> <1409318874.6045.73.camel@triegel.csb> <540080DF.6030205@linux.vnet.ibm.com> Message-Id: <20140829215226.F2A392C3A30@topped-with-meat.com> Date: Fri, 29 Aug 2014 21:52:00 -0000 X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=SvUDtp+0 c=1 sm=1 tr=0 a=WkljmVdYkabdwxfqvArNOQ==:117 a=14OXPxybAAAA:8 a=Tomp_y-QRFgA:10 a=zP8oXE-JYWsA:10 a=Z6MIti7PxpgA:10 a=kj9zAlcOel0A:10 a=hOe2yjtxAAAA:8 a=6cgxuXT4-9iEDMfB0CoA:9 a=CjuIK1q_8ugA:10 X-SW-Source: 2014-08/txt/msg00483.txt.bz2 I don't see a problem with conditional code based on available compiler version--that is, conditional code within the atomic.h implementations themselves. What I take to be the main thrust of Torvald's suggestion is that we get ASAP to a situation where all the code outside of actual atomic.h implementations themselves is using a new atomic.h API that has semantics and signatures identical to, and names similar to, the C11-supporting builtins. That enables us to clean up, fix, and optimize all the actual uses of atomics throughout the codebase, without waiting until we can rely on requiring newer compiler versions throughout. I tend to think it is still too early to mandate 4.7 or later. I think we can in the 2.21 cycle move up to 4.6 as the minimum (and 4.8 or 4.9 as the recommended version). But we should discuss that further.