 ,     .

write lock(&mr rwlock);

/*   (  ) ... */
write unlock(&mr rwlock);

        
,      .

,  ,   ,  ""  -
,   .   

read lock(&mr rwlock);

write_lock(&mr_rwlock) ;

 ,         -
  ,   ,    
,   ;     .   -  -
  ,        .  
      ,   ,  ,
  ,      -
.        -.

          
-.          -
       .     
  .     -
      ,   "" 
      .    
    read_lock ()  read_lock_irqsave ().
          ,
   write_lock_irqsave () ,    
         -
       .  . 9.4  -
      -.

  ,         -
 -    Linux,   ,  
           -
.            -
,   ,       , 
 .  ,     -
 ,    ,      -
  .        
""   .     
    .

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

                                                     189