On Tue, Nov 24, 2015 at 09:13:21AM +0000, Konstantin Belousov wrote:
> Author: kib
> Date: Tue Nov 24 09:13:21 2015
> New Revision: 291242
> URL: https://svnweb.freebsd.org/changeset/base/291242
> 
> Log:
>   On PowerPC 64bit, the linux-compat mb() definition is implemented with
>   lwsync instruction, which does not provide Store/Load barrier.  Fix
>   this by using "full" sync barrier for mb().
>   
>   atomic_store_rel() does not need full barrier, change mb() call there
>   to the lwsync instruction if not hitting the known CPU erratas
>   (i.e. on 32bit).  Provide powerpc_lwsync() helper to isolate the
>   lwsync/sync compile time selection, and use it in atomic_store_rel()
>   and several other places which duplicate the code.

Note that powerpc/aim/slb.c issues mb() also intending to generate
lwsync.  This will be fixed to use powerpc_lwsync() in the separate
commit.

_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to