About the memory barrier in BSD libc

Slawa Olhovchenkov slw at zxy.spb.ru
Mon Apr 23 08:40:58 UTC 2012


On Mon, Apr 23, 2012 at 02:56:03PM +0800, Fengwei yin wrote:

> Hi list,
> If this is not correct question on the list, please let me know and
> sorry for noise.
> 
> I have a question regarding the BSD libc for SMP arch. I didn't see
> memory barrier used in libc.
> How can we make sure it's safe on SMP arch?

/usr/include/machine/atomic.h:

#define mb()    __asm __volatile("lock; addl $0,(%%esp)" : : : "memory")
#define wmb()   __asm __volatile("lock; addl $0,(%%esp)" : : : "memory")
#define rmb()   __asm __volatile("lock; addl $0,(%%esp)" : : : "memory")



More information about the freebsd-threads mailing list