Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
barrier.h File Reference
#include <asm/asm.h>
#include <asm/segment.h>
#include <asm/cpufeature.h>
#include <asm/cmpxchg.h>
#include <asm/nops.h>
#include <linux/kernel.h>
#include <linux/irqflags.h>

Go to the source code of this file.

Macros

#define mb()   asm volatile("mfence" : : : "memory")
 
#define rmb()   asm volatile("lfence" : : : "memory")
 
#define wmb()   asm volatile("sfence" : : : "memory")
 
#define read_barrier_depends()   do { } while (0)
 
#define smp_mb()   barrier()
 
#define smp_rmb()   barrier()
 
#define smp_wmb()   barrier()
 
#define smp_read_barrier_depends()   do { } while (0)
 
#define set_mb(var, value)   do { var = value; barrier(); } while (0)
 

Macro Definition Documentation

#define mb (   void)    asm volatile("mfence" : : : "memory")

Definition at line 26 of file barrier.h.

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

Definition at line 32 of file barrier.h.

#define rmb ( )    asm volatile("lfence" : : : "memory")

Definition at line 27 of file barrier.h.

#define set_mb (   var,
  value 
)    do { var = value; barrier(); } while (0)

Definition at line 58 of file barrier.h.

#define smp_mb ( )    barrier()

Definition at line 54 of file barrier.h.

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

Definition at line 57 of file barrier.h.

#define smp_rmb ( )    barrier()

Definition at line 55 of file barrier.h.

#define smp_wmb ( )    barrier()

Definition at line 56 of file barrier.h.

#define wmb ( )    asm volatile("sfence" : : : "memory")

Definition at line 28 of file barrier.h.