[<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