~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/locking/percpu-rw-semaphore.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/locking/percpu-rw-semaphore.rst (Version linux-6.11.5) and /Documentation/locking/percpu-rw-semaphore.rst (Version linux-5.0.21)


  1 ====================                              
  2 Percpu rw semaphores                              
  3 ====================                              
  4                                                   
  5 Percpu rw semaphores is a new read-write semap    
  6 optimized for locking for reading.                
  7                                                   
  8 The problem with traditional read-write semaph    
  9 cores take the lock for reading, the cache lin    
 10 is bouncing between L1 caches of the cores, ca    
 11 degradation.                                      
 12                                                   
 13 Locking for reading is very fast, it uses RCU     
 14 instruction in the lock and unlock path. On th    
 15 writing is very expensive, it calls synchroniz    
 16 hundreds of milliseconds.                         
 17                                                   
 18 The lock is declared with "struct percpu_rw_se    
 19 The lock is initialized percpu_init_rwsem, it     
 20 -ENOMEM on allocation failure.                    
 21 The lock must be freed with percpu_free_rwsem     
 22                                                   
 23 The lock is locked for read with percpu_down_r    
 24 for write with percpu_down_write, percpu_up_wr    
 25                                                   
 26 The idea of using RCU for optimized rw-lock wa    
 27 Eric Dumazet <eric.dumazet@gmail.com>.             
 28 The code was written by Mikulas Patocka <mpatoc    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php