Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
barrier_64.h File Reference

Go to the source code of this file.

Macros

#define membar_safe(type)
 
#define mb()   membar_safe("#StoreLoad")
 
#define rmb()   __asm__ __volatile__("":::"memory")
 
#define wmb()   __asm__ __volatile__("":::"memory")
 
#define read_barrier_depends()   do { } while(0)
 
#define set_mb(__var, __value)   do { __var = __value; membar_safe("#StoreLoad"); } while(0)
 
#define smp_mb()   __asm__ __volatile__("":::"memory")
 
#define smp_rmb()   __asm__ __volatile__("":::"memory")
 
#define smp_wmb()   __asm__ __volatile__("":::"memory")
 
#define smp_read_barrier_depends()   do { } while(0)
 

Macro Definition Documentation

#define mb (   void)    membar_safe("#StoreLoad")

Definition at line 36 of file barrier_64.h.

#define membar_safe (   type)
Value:
do { __asm__ __volatile__("ba,pt %%xcc, 1f\n\t" \
" membar " type "\n" \
"1:\n" \
: : : "memory"); \
} while (0)

Definition at line 25 of file barrier_64.h.

#define read_barrier_depends ( )    do { } while(0)

Definition at line 40 of file barrier_64.h.

#define rmb ( )    __asm__ __volatile__("":::"memory")

Definition at line 37 of file barrier_64.h.

#define set_mb (   __var,
  __value 
)    do { __var = __value; membar_safe("#StoreLoad"); } while(0)

Definition at line 41 of file barrier_64.h.

#define smp_mb ( )    __asm__ __volatile__("":::"memory")

Definition at line 49 of file barrier_64.h.

#define smp_read_barrier_depends ( )    do { } while(0)

Definition at line 54 of file barrier_64.h.

#define smp_rmb ( )    __asm__ __volatile__("":::"memory")

Definition at line 50 of file barrier_64.h.

#define smp_wmb ( )    __asm__ __volatile__("":::"memory")

Definition at line 51 of file barrier_64.h.

#define wmb ( )    __asm__ __volatile__("":::"memory")

Definition at line 38 of file barrier_64.h.