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

TOMOYO Linux Cross Reference
Linux/tools/power/cpupower/bench/README-BENCH

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/power/cpupower/bench/README-BENCH (Version linux-6.12-rc7) and /tools/power/cpupower/bench/README-BENCH (Version unix-v6-master)


  1 This is cpufreq-bench, a microbenchmark for th    
  2                                                   
  3 Purpose                                           
  4 =======                                           
  5                                                   
  6 What is this benchmark for:                       
  7   - Identify worst case performance loss when     
  8     scaling using Linux kernel governors          
  9   - Identify average reaction time of a govern    
 10   - (Stress) Testing whether a cpufreq low lev    
 11     as expected                                   
 12   - Identify cpufreq related performance regre    
 13   - Possibly Real time priority testing? -> wh    
 14     processes with a higher prio than the gove    
 15   - ...                                           
 16                                                   
 17 What this benchmark does *not* cover:             
 18   - Power saving related regressions (In fact     
 19     throughput is, the worse the power savings    
 20     mostly count more...)                         
 21   - Real world (workloads)                        
 22                                                   
 23                                                   
 24 Description                                       
 25 ===========                                       
 26                                                   
 27 cpufreq-bench helps to test the condition of a    
 28 For that purpose, it compares the performance     
 29 powersave module.                                 
 30                                                   
 31                                                   
 32 How it works                                      
 33 ============                                      
 34 You can specify load (100% CPU load) and sleep    
 35 will be run X time in a row (cycles):             
 36                                                   
 37          sleep=25000                              
 38          load=25000                               
 39          cycles=20                                
 40                                                   
 41 This part of the configuration file will creat    
 42 repeated 20 times.                                
 43                                                   
 44 Adding this:                                      
 45          sleep_step=25000                         
 46          load_step=25000                          
 47          rounds=5                                 
 48 Will increase load and sleep time by 25ms 5 ti    
 49 Together you get following test:                  
 50 25ms  load/sleep time repeated 20 times (cycle    
 51 50ms  load/sleep time repeated 20 times (cycle    
 52 ..                                                
 53 100ms load/sleep time repeated 20 times (cycle    
 54                                                   
 55 First it is calibrated how long a specific CPU    
 56 takes on this machine and needs to be run in a    
 57 governor.                                         
 58 Then the above test runs are processed using t    
 59 and the governor to test. The time the calcula    
 60 with the dynamic freq scaling governor is comp    
 61 on full performance and you get the overall pe    
 62                                                   
 63                                                   
 64 Example of expected results with ondemand gove    
 65                                                   
 66 This shows expected results of the first two t    
 67 above config, you there have:                     
 68                                                   
 69 100% CPU load (load) | 0 % CPU load (sleep)  |    
 70    25 ms             |    25 ms              |    
 71    50 ms             |    50 ms              |    
 72                                                   
 73 For example if ondemand governor is configured    
 74 sampling rate you get:                            
 75                                                   
 76 In round 1, ondemand should have rather static    
 77 won't ever switch up (as long as up_threshold     
 78                                                   
 79 In round 2, if the ondemand sampling times exa    
 80 trigger of the cpufreq-bench, you will see no     
 81 below possible ondemand sample kick ins (1)):     
 82                                                   
 83 But if ondemand always kicks in in the middle     
 84 will always see 50% loads and you get worst pe    
 85 switching up (compare with below possible onde    
 86                                                   
 87       50     50   50   50ms ->time                
 88 load -----|     |-----|     |-----|     |-----    
 89           |     |     |     |     |     |         
 90 sleep     |-----|     |-----|     |-----|         
 91     |-----|-----|-----|-----|-----|-----|-----    
 92          100    0    100    0    100    0    1    
 93        |-----|-----|-----|-----|-----|-----|--    
 94       50     50    50    50    50    50    50     
 95                                                   
 96 You can easily test all kind of load/sleep tim    
 97 governor in average behaves as expected.          
 98                                                   
 99                                                   
100 ToDo                                              
101 ====                                              
102                                                   
103 Provide a gnuplot utility script for easy gene    
104 the outcome nicely.                               
105                                                   
106                                                   
107 cpufreq-bench Command Usage                       
108 ===========================                       
109 -l, --load=<long int>           initial load t    
110 -s, --sleep=<long int>          initial sleep     
111 -x, --load-step=<long int>      time to be add    
112 -y, --sleep-step=<long int>     time to be add    
113 -c, --cpu=<unsigned int>        CPU Number to     
114 -p, --prio=<priority>           scheduler prio    
115 -g, --governor=<governor>       cpufreq govern    
116 -n, --cycles=<int>              load/sleep cyc    
117 -r, --rounds<int>               load/sleep rou    
118 -f, --file=<configfile>         config file to    
119 -o, --output=<dir>              output dir, mu    
120 -v, --verbose                   verbose output    
121                                                   
122 Due to the high priority, the application may     
123 After the benchmark, the logfile is saved in O    
124                                                   
                                                      

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