On 05/24/12 17:22, Marcel Moolenaar wrote:

On May 24, 2012, at 3:15 PM, Nathan Whitehorn wrote:

Summary:
1. *mb() must be lwsync or sync on all machines, except for wmb() which could 
be eieio
2. __ATOMIC_ACQ() must be isync (though could be reduced to lwsync with 
bus_space changes)
3. __ATOMIC_REL() must be lwsync or sync

This is absolutely not what I concluded from our discussions. I have no idea
how we could end up so out of sync...


Thanks for the quick change. No idea how we got out of sync. I find all of this 
synchronization stuff a little mind-bending, so sorry for any miscommunication. 
__ATOMIC_ACQ() needed to also be isync on ppc64, so I've fixed that up. Things 
should be good now.

Ok. I didn't change wmb() to eieio as I wanted to avoid a pendulum effect.
I'll reread our emails and make sure wmb() is what we think it is and if
so I'll do a followup commit.
FYI,


I don't think it really makes a difference. Basically nothing uses wmb(), and those things that do mostly use it wrong and need sync. So it should probably stay as [lw]sync.
-Nathan
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to