 1                   2

=3;

mb();

p=&a;                     PP=P;

-                        read_barrier_depends 

-                        b=*pp;

       , 
 b    *  ,     -
   .  read_barrier_depeinds () 
 ,     *    -
 .       rmb () ,  -
     ,    
   read_barrier_depends (). ,    
   mb ()  ,   
   -   1.

 smp_rmb() , smp_wmb(), smp_mb()  smpread_barrier_depends()
   .  SMP-   
  ,   ,    -
,     .  SMP-   -
,        
 SMP-.

 barrier ()    
    ,      
     (..    ).
         , 
      ,    , 
    .     -
  ,      . ,
      ,   
   ,     .
,       ,  -
     .   
     ,    -
 ,    (    ).
      ,  
    ,   - .

 . 9.10         -
,      , 
 Linux.

 ,         -
  . ,      
 (     Intel x86),   wmb ()  
 .       
  (..       ),  
       .

204  9