[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.1.10.0809061419440.3117@nehalem.linux-foundation.org>
Date:	Sat, 6 Sep 2008 14:22:01 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Thomas Gleixner <tglx@...utronix.de>
cc:	Alok Kataria <akataria@...are.com>,
	Alan Cox <alan@...rguk.ukuu.org.uk>,
	LKML <linux-kernel@...r.kernel.org>,
	Arjan van de Veen <arjan@...radead.org>,
	"H. Peter Anvin" <hpa@...or.com>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Dan Hecht <dhecht@...are.com>,
	Garrett Smith <garrett@...are.com>
Subject: Re: [RFC patch 0/4] TSC calibration improvements
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Powered by blists - more mailing lists