svn commit: r235931 - head/sys/powerpc/include

Nathan Whitehorn nwhitehorn at freebsd.org
Thu May 24 22:46:15 UTC 2012


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


More information about the svn-src-all mailing list