On 03/25/11 10:39, Richard Guenther wrote: > On Fri, Mar 25, 2011 at 4:33 PM, Jakub Jelinek wrote: >> On Fri, Mar 25, 2011 at 09:30:22AM -0600, Jeff Law wrote: >>> I'm not going to chime in on this specific problem; however, it is worth >>> noting that many of the issues raised by the C++0x memory model also >>> affect the linux kernel. >> >> But what they are seeing are certainly store data races, not load races, >> because no hw they care about (or no hw at all?) detects the latter. >> Having options to avoid store data races is useful not just for C++0x memory >> model compliance and Linux kernel, but e.g. for OpenMP too. > > And we have in the past removed code that created store data races > anyway. There is nothing new here. > > As stated multiple times in the past things get "interesting" when you > look at non-x86 hardware. Agreed on all counts, with everyone :). I will desist from trying to disable speculative loads and load data races which affect no one. Below is a patch I am committing to remove all tests checking for load races. As Richi has mentioned, there are some interesting store data races on non-x86 hardware. I will be looking into those, particularly non contiguous bitfield issues on ppc, s390, and possibly alpha: stay tuned. Thanks for the comments.