[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1193361338.9793.37.camel@bodhitayantram.eng.vmware.com>
Date: Thu, 25 Oct 2007 18:15:38 -0700
From: Zachary Amsden <zach@...are.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Andi Kleen <ak@...e.de>, Nick Piggin <nickpiggin@...oo.com.au>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: Is gcc thread-unsafe?
On Thu, 2007-10-25 at 16:57 -0700, Linus Torvalds wrote:
>
> On Fri, 26 Oct 2007, Andi Kleen wrote:
> >
> > The conditional add/sub using carry trick is not generally bogus.
> > But for registers it's a fine optimization.
>
> For registers it's fine. For memory, it's a disaster. It's more than just
> dirty cachelines and introducing race conditions, it's also about
> protection and dirty pages.
>
> So even in user space, to even be correct in the first place, the compiler
It's actually a fair bit worse for us. We have paths where a false
optimization like this would hyperspace the machine. In fact, this
frightens me so much I've just gone off to investigate whether gcc has
gone and done this to any of our code.
Clearly the right solution is to introduce threads and write protected
memory into gcc so that the developers are either motivated to ensure
they work or self-destruct.
Zach
-
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