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

TOMOYO Linux Cross Reference
Linux/Documentation/accounting/delay-accounting.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/accounting/delay-accounting.rst (Version linux-6.12-rc7) and /Documentation/accounting/delay-accounting.rst (Version linux-3.10.108)


  1 ================                                  
  2 Delay accounting                                  
  3 ================                                  
  4                                                   
  5 Tasks encounter delays in execution when they     
  6 for some kernel resource to become available e    
  7 runnable task may wait for a free CPU to run o    
  8                                                   
  9 The per-task delay accounting functionality me    
 10 the delays experienced by a task while            
 11                                                   
 12 a) waiting for a CPU (while being runnable)       
 13 b) completion of synchronous block I/O initiat    
 14 c) swapping in pages                              
 15 d) memory reclaim                                 
 16 e) thrashing                                      
 17 f) direct compact                                 
 18 g) write-protect copy                             
 19 h) IRQ/SOFTIRQ                                    
 20                                                   
 21 and makes these statistics available to usersp    
 22 the taskstats interface.                          
 23                                                   
 24 Such delays provide feedback for setting a tas    
 25 io priority and rss limit values appropriately    
 26 important tasks could be a trigger for raising    
 27                                                   
 28 The functionality, through its use of the task    
 29 delay statistics aggregated for all tasks (or     
 30 thread group (corresponding to a traditional U    
 31 needed aggregation that is more efficiently do    
 32                                                   
 33 Userspace utilities, particularly resource man    
 34 aggregate delay statistics into arbitrary grou    
 35 statistics of a task are available both during    
 36 exit, ensuring continuous and complete monitor    
 37                                                   
 38                                                   
 39 Interface                                         
 40 ---------                                         
 41                                                   
 42 Delay accounting uses the taskstats interface     
 43 in detail in a separate document in this direc    
 44 generic data structure to userspace correspond    
 45 statistics. The delay accounting functionality    
 46 this structure. See                               
 47                                                   
 48      include/uapi/linux/taskstats.h               
 49                                                   
 50 for a description of the fields pertaining to     
 51 It will generally be in the form of counters r    
 52 delay seen for cpu, sync block I/O, swapin, me    
 53 cache, direct compact, write-protect copy, IRQ    
 54                                                   
 55 Taking the difference of two successive readin    
 56 counter (say cpu_delay_total) for a task will     
 57 experienced by the task waiting for the corres    
 58 in that interval.                                 
 59                                                   
 60 When a task exits, records containing the per-    
 61 are sent to userspace without requiring a comm    
 62 task of a thread group, the per-tgid statistic    
 63 are given in the taskstats interface descripti    
 64                                                   
 65 The getdelays.c userspace utility in tools/acc    
 66 commands to be run and the corresponding delay    
 67 also serves as an example of using the tasksta    
 68                                                   
 69 Usage                                             
 70 -----                                             
 71                                                   
 72 Compile the kernel with::                         
 73                                                   
 74         CONFIG_TASK_DELAY_ACCT=y                  
 75         CONFIG_TASKSTATS=y                        
 76                                                   
 77 Delay accounting is disabled by default at boo    
 78 To enable, add::                                  
 79                                                   
 80    delayacct                                      
 81                                                   
 82 to the kernel boot options. The rest of the in    
 83 been done. Alternatively, use sysctl kernel.ta    
 84 at runtime. Note however that only tasks start    
 85 delayacct information.                            
 86                                                   
 87 After the system has booted up, use a utility     
 88 similar to  getdelays.c to access the delays      
 89 seen by a given task or a task group (tgid).      
 90 The utility also allows a given command to be     
 91 executed and the corresponding delays to be       
 92 seen.                                             
 93                                                   
 94 General format of the getdelays command::         
 95                                                   
 96         getdelays [-dilv] [-t tgid] [-p pid]      
 97                                                   
 98 Get delays, since system boot, for pid 10::       
 99                                                   
100         # ./getdelays -d -p 10                    
101         (output similar to next case)             
102                                                   
103 Get sum of delays, since system boot, for all     
104                                                   
105         # ./getdelays -d -t 5                     
106         print delayacct stats ON                  
107         TGID    5                                 
108                                                   
109                                                   
110         CPU             count     real total      
111                             8        7000000      
112         IO              count    delay total      
113                    0              0          0    
114         SWAP            count    delay total      
115                        0              0           
116         RECLAIM         count    delay total      
117                    0              0          0    
118         THRASHING       count    delay total      
119                        0              0           
120         COMPACT         count    delay total      
121                        0              0           
122         WPCOPY          count    delay total      
123                        0              0           
124         IRQ             count    delay total      
125                        0              0           
126                                                   
127 Get IO accounting for pid 1, it works only wit    
128                                                   
129         # ./getdelays -i -p 1                     
130         printing IO accounting                    
131         linuxrc: read=65536, write=0, cancelle    
132                                                   
133 The above command can be used with -v to get m    
                                                      

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