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

TOMOYO Linux Cross Reference
Linux/tools/perf/Documentation/perf-bench.txt

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 /tools/perf/Documentation/perf-bench.txt (Version linux-6.12-rc7) and /tools/perf/Documentation/perf-bench.txt (Version policy-sample)


  1 perf-bench(1)                                     
  2 =============                                     
  3                                                   
  4 NAME                                              
  5 ----                                              
  6 perf-bench - General framework for benchmark s    
  7                                                   
  8 SYNOPSIS                                          
  9 --------                                          
 10 [verse]                                           
 11 'perf bench' [<common options>] <subsystem> <s    
 12                                                   
 13 DESCRIPTION                                       
 14 -----------                                       
 15 This 'perf bench' command is a general framewo    
 16                                                   
 17 COMMON OPTIONS                                    
 18 --------------                                    
 19 -r::                                              
 20 --repeat=::                                       
 21 Specify number of times to repeat the run (def    
 22                                                   
 23 -f::                                              
 24 --format=::                                       
 25 Specify format style.                             
 26 Current available format styles are:              
 27                                                   
 28 'default'::                                       
 29 Default style. This is mainly for human readin    
 30 ---------------------                             
 31 % perf bench sched pipe                      #    
 32 (executing 1000000 pipe operations between two    
 33         Total time:5.855 sec                      
 34                 5.855061 usecs/op                 
 35                 170792 ops/sec                    
 36 ---------------------                             
 37                                                   
 38 'simple'::                                        
 39 This simple style is friendly for automated       
 40 processing by scripts.                            
 41 ---------------------                             
 42 % perf bench --format=simple sched pipe      #    
 43 5.988                                             
 44 ---------------------                             
 45                                                   
 46 SUBSYSTEM                                         
 47 ---------                                         
 48                                                   
 49 'sched'::                                         
 50         Scheduler and IPC mechanisms.             
 51                                                   
 52 'syscall'::                                       
 53         System call performance (throughput).     
 54                                                   
 55 'mem'::                                           
 56         Memory access performance.                
 57                                                   
 58 'numa'::                                          
 59         NUMA scheduling and MM benchmarks.        
 60                                                   
 61 'futex'::                                         
 62         Futex stressing benchmarks.               
 63                                                   
 64 'epoll'::                                         
 65         Eventpoll (epoll) stressing benchmarks    
 66                                                   
 67 'internals'::                                     
 68         Benchmark internal perf functionality.    
 69                                                   
 70 'uprobe'::                                        
 71         Benchmark overhead of uprobe + BPF.       
 72                                                   
 73 'all'::                                           
 74         All benchmark subsystems.                 
 75                                                   
 76 SUITES FOR 'sched'                                
 77 ~~~~~~~~~~~~~~~~~~                                
 78 *messaging*::                                     
 79 Suite for evaluating performance of scheduler     
 80 Based on hackbench by Rusty Russell.              
 81                                                   
 82 Options of *messaging*                            
 83 ^^^^^^^^^^^^^^^^^^^^^^                            
 84 -p::                                              
 85 --pipe::                                          
 86 Use pipe() instead of socketpair()                
 87                                                   
 88 -t::                                              
 89 --thread::                                        
 90 Be multi thread instead of multi process          
 91                                                   
 92 -g::                                              
 93 --group=::                                        
 94 Specify number of groups                          
 95                                                   
 96 -l::                                              
 97 --nr_loops=::                                     
 98 Specify number of loops                           
 99                                                   
100 Example of *messaging*                            
101 ^^^^^^^^^^^^^^^^^^^^^^                            
102                                                   
103 ---------------------                             
104 % perf bench sched messaging                 #    
105 options (20 sender and receiver processes per     
106 (10 groups == 400 processes run)                  
107                                                   
108       Total time:0.308 sec                        
109                                                   
110 % perf bench sched messaging -t -g 20        #    
111 (20 sender and receiver threads per group)        
112 (20 groups == 800 threads run)                    
113                                                   
114       Total time:0.582 sec                        
115 ---------------------                             
116                                                   
117 *pipe*::                                          
118 Suite for pipe() system call.                     
119 Based on pipe-test-1m.c by Ingo Molnar.           
120                                                   
121 Options of *pipe*                                 
122 ^^^^^^^^^^^^^^^^^                                 
123 -l::                                              
124 --loop=::                                         
125 Specify number of loops.                          
126                                                   
127 -G::                                              
128 --cgroups=::                                      
129 Names of cgroups for sender and receiver, sepa    
130 This is useful to check cgroup context switchi    
131 Note that perf doesn't create nor delete the c    
132 make sure that the cgroups exist and are acces    
133                                                   
134                                                   
135 Example of *pipe*                                 
136 ^^^^^^^^^^^^^^^^^                                 
137                                                   
138 ---------------------                             
139 % perf bench sched pipe                           
140 (executing 1000000 pipe operations between two    
141                                                   
142         Total time:8.091 sec                      
143                 8.091833 usecs/op                 
144                 123581 ops/sec                    
145                                                   
146 % perf bench sched pipe -l 1000              #    
147 (executing 1000 pipe operations between two ta    
148                                                   
149         Total time:0.016 sec                      
150                 16.948000 usecs/op                
151                 59004 ops/sec                     
152                                                   
153 % perf bench sched pipe -G AAA,BBB                
154 (executing 1000000 pipe operations between cgr    
155 # Running 'sched/pipe' benchmark:                 
156 # Executed 1000000 pipe operations between two    
157                                                   
158      Total time: 6.886 [sec]                      
159                                                   
160        6.886208 usecs/op                          
161          145217 ops/sec                           
162                                                   
163 ---------------------                             
164                                                   
165 SUITES FOR 'syscall'                              
166 ~~~~~~~~~~~~~~~~~~                                
167 *basic*::                                         
168 Suite for evaluating performance of core syste    
169 This uses a single thread simply doing getppid    
170 cached by glibc.                                  
171                                                   
172                                                   
173 SUITES FOR 'mem'                                  
174 ~~~~~~~~~~~~~~~~                                  
175 *memcpy*::                                        
176 Suite for evaluating performance of simple mem    
177                                                   
178 Options of *memcpy*                               
179 ^^^^^^^^^^^^^^^^^^^                               
180 -l::                                              
181 --size::                                          
182 Specify size of memory to copy (default: 1MB).    
183 Available units are B, KB, MB, GB and TB (case    
184                                                   
185 -f::                                              
186 --function::                                      
187 Specify function to copy (default: default).      
188 Available functions are depend on the architec    
189 On x86-64, x86-64-unrolled, x86-64-movsq and x    
190                                                   
191 -l::                                              
192 --nr_loops::                                      
193 Repeat memcpy invocation this number of times.    
194                                                   
195 -c::                                              
196 --cycles::                                        
197 Use perf's cpu-cycles event instead of gettime    
198                                                   
199 *memset*::                                        
200 Suite for evaluating performance of simple mem    
201                                                   
202 Options of *memset*                               
203 ^^^^^^^^^^^^^^^^^^^                               
204 -l::                                              
205 --size::                                          
206 Specify size of memory to set (default: 1MB).     
207 Available units are B, KB, MB, GB and TB (case    
208                                                   
209 -f::                                              
210 --function::                                      
211 Specify function to set (default: default).       
212 Available functions are depend on the architec    
213 On x86-64, x86-64-unrolled, x86-64-stosq and x    
214                                                   
215 -l::                                              
216 --nr_loops::                                      
217 Repeat memset invocation this number of times.    
218                                                   
219 -c::                                              
220 --cycles::                                        
221 Use perf's cpu-cycles event instead of gettime    
222                                                   
223 SUITES FOR 'numa'                                 
224 ~~~~~~~~~~~~~~~~~                                 
225 *mem*::                                           
226 Suite for evaluating NUMA workloads.              
227                                                   
228 SUITES FOR 'futex'                                
229 ~~~~~~~~~~~~~~~~~~                                
230 *hash*::                                          
231 Suite for evaluating hash tables.                 
232                                                   
233 *wake*::                                          
234 Suite for evaluating wake calls.                  
235                                                   
236 *wake-parallel*::                                 
237 Suite for evaluating parallel wake calls.         
238                                                   
239 *requeue*::                                       
240 Suite for evaluating requeue calls.               
241                                                   
242 *lock-pi*::                                       
243 Suite for evaluating futex lock_pi calls.         
244                                                   
245 SUITES FOR 'epoll'                                
246 ~~~~~~~~~~~~~~~~~~                                
247 *wait*::                                          
248 Suite for evaluating concurrent epoll_wait cal    
249                                                   
250 *ctl*::                                           
251 Suite for evaluating multiple epoll_ctl calls.    
252                                                   
253 SUITES FOR 'internals'                            
254 ~~~~~~~~~~~~~~~~~~~~~~                            
255 *synthesize*::                                    
256 Suite for evaluating perf's event synthesis pe    
257                                                   
258 SEE ALSO                                          
259 --------                                          
260 linkperf:perf[1]                                  
                                                      

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