Re: Re: memory barriers (was: Yes, WaitLatch is vulnerable to weak-memory-ordering bugs)
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Martijn van Oosterhout <kleptog@svana.org>
Cc: Greg Stark <stark@mit.edu>, Jeff Davis <pgsql@j-davis.com>, Thom Brown <thom@linux.com>, Peter Geoghegan <peter@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org
Date: 2011-09-24T16:46:48Z
Lists: pgsql-hackers
On Sat, Sep 24, 2011 at 9:45 AM, Martijn van Oosterhout <kleptog@svana.org> wrote: > I think memory accesses are also fantastically expensive, so it's worth > some effort to optimise that. This is definitely true. > I found the Linux kernel document on this topic quite readable. I think > the main lesson here is that processors track data dependancies (other > than the Alpha apparently), but not control dependancies. So in the > example, the value of i is dependant on num_items, but not via any > calculation. IThat control dependancies are not tracked makes some > sense, since branches depend on flags bit, and just about any > calculation changes the flag bits, but most of the time these changes > are not used. Oh, that's interesting. So that implies that a read-barrier would be needed here even on non-Alpha. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company