From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755107AbYIFVWc (ORCPT ); Sat, 6 Sep 2008 17:22:32 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752393AbYIFVWY (ORCPT ); Sat, 6 Sep 2008 17:22:24 -0400 Received: from smtp1.linux-foundation.org ([140.211.169.13]:48180 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752084AbYIFVWY (ORCPT ); Sat, 6 Sep 2008 17:22:24 -0400 Date: Sat, 6 Sep 2008 14:22:01 -0700 (PDT) From: Linus Torvalds To: Thomas Gleixner cc: Alok Kataria , Alan Cox , LKML , Arjan van de Veen , "H. Peter Anvin" , Peter Zijlstra , Dan Hecht , Garrett Smith Subject: Re: [RFC patch 0/4] TSC calibration improvements In-Reply-To: Message-ID: References: <20080904160036.GA18382@elte.hu> <20080904190728.59634020@lxorguk.ukuu.org.uk> <20080904204305.GA29065@elte.hu> <1220653095.14401.72.camel@alok-dev1> User-Agent: Alpine 1.10 (LFD 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 6 Sep 2008, Thomas Gleixner wrote: > > One gcc does: > > i++; > if (i >= QUICK_PIT_ITERATIONS) > goto out; > expect--; > > The other one does: > > i++; > expect--; > if (i >= QUICK_PIT_ITERATIONS) > goto out; > > Don't ask me which one is correct. It's just reality :( Show me. Because I simply don't believe you. The first code is simply _wrong_ - except if "expect" isn't even _used_ afterwards (in which case gcc can optimize away the last unused write). And I strongly suspect that that is what you've seen. Because quite frankly, if what you describe is real, then your gcc is incredibly buggy. So buggy that it sounds unlikely to be able to compile the kernel in many other places. This is very simple and very fundamental C, not something subtle or even half-way undefined. Linus