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

TOMOYO Linux Cross Reference
Linux/Documentation/trace/rv/monitor_wip.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/trace/rv/monitor_wip.rst (Version linux-6.12-rc7) and /Documentation/trace/rv/monitor_wip.rst (Version linux-5.0.21)


  1 Monitor wip                                       
  2 ===========                                       
  3                                                   
  4 - Name: wip - wakeup in preemptive                
  5 - Type: per-cpu deterministic automaton           
  6 - Author: Daniel Bristot de Oliveira <bristot@k    
  7                                                   
  8 Description                                       
  9 -----------                                       
 10                                                   
 11 The wakeup in preemptive (wip) monitor is a sa    
 12 that verifies if the wakeup events always take    
 13 preemption disabled::                             
 14                                                   
 15                      |                            
 16                      |                            
 17                      v                            
 18                    #==================#           
 19                    H    preemptive    H <+        
 20                    #==================#  |        
 21                      |                   |        
 22                      | preempt_disable   | pre    
 23                      v                   |        
 24     sched_waking   +------------------+  |        
 25   +--------------- |                  |  |        
 26   |                |  non_preemptive  |  |        
 27   +--------------> |                  | -+        
 28                    +------------------+           
 29                                                   
 30 The wakeup event always takes place with preem    
 31 of the scheduler synchronization. However, bec    
 32 and its trace event are not atomic with regard    
 33 inconsistencies might happen. For example::       
 34                                                   
 35   preempt_disable() {                             
 36         __preempt_count_add(1)                    
 37         ------->        smp_apic_timer_interru    
 38                                 preempt_disabl    
 39                                         do not    
 40                                                   
 41                                 wake up a thre    
 42                                                   
 43                                 preempt_enable    
 44                                          do no    
 45                         }                         
 46         <------                                   
 47         trace_preempt_disable();                  
 48   }                                               
 49                                                   
 50 This problem was reported and discussed here:     
 51   https://lore.kernel.org/r/cover.1559051152.g    
 52                                                   
 53 Specification                                     
 54 -------------                                     
 55 Grapviz Dot file in tools/verification/models/    
                                                      

~ [ 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