On Tuesday, December 04, 2012, Patrick J. LoPresti wrote: > There is no such thing as a benign data race. Ever.
<soapbox> Well said. I couldn't have put any of this better myself. Having spent a considerable amount of time working on Helgrind and then using it to chase races in some big hairy C++ codes, I became very skeptical of the "oh it's only a harmless race" arguments. However, I gave up shouting about it after a while since it just made me look like a tiresome pedant hellbent on criticising people's clever go-faster- by-avoiding-locking schemes. IMO, the idea that some races are harmless is a dangerous myth that we should try to stamp out. I also noticed that threaded code that relies on unsynchronised accesses is hard for newcomers to understand and reason about, so it tends to be a maintenance hazard. In some ways, the fact that the Intel architecture guarantees to deliver stores in-order (x86-TSO), and is therefore somewhat tolerant of such racery, is a disadvantage. I think people would take this stuff more seriously if racey code got trashed more often by machines with memory systems that do reordering, such as Power7. </soapbox> J ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Valgrind-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-users
