On 2014-10-06 11:38:47 -0400, Robert Haas wrote:
> On Thu, Oct 2, 2014 at 2:06 PM, Andres Freund <and...@2ndquadrant.com> wrote:
> >> Also, I pretty much designed those definitions to match what Linux
> >> does.  And it doesn't require that either, though it says that in most
> >> cases it will work out that way.
> >
> > My point is that that read barriers aren't particularly meaningful
> > without a defined store order from another thread/process. Without any
> > form of pairing you don't have that. The writing side could just have
> > reordered the writes in a way you didn't want them.  And the kernel docs
> > do say "A lack of appropriate pairing is almost certainly an error". But
> > since read barriers also pair with lock releases operations, that's
> > normally not a big problem.
> 
> Agreed, but it's possible to have a read-fence where an atomic
> operation provides the ordering on the other side, or something like
> that.

Sure, that's one of the possible pairings. Most atomics have barrier
semantics...

> > I'm still unsure what you want to show with that example?
> 
> Me, too.  I think we've drifted off in the weeds.  Do we know what we
> need to know to fix $SUBJECT?

I think we can pretty much apply Oskari's patch after replacing
acquire/release with read/write intrinsics.

I'm opening a bug with the gcc folks about clarifying the docs on their
intrinsics.

Greetings,

Andres Freund

-- 
 Andres Freund                     http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to