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

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/pm/intel-speed-select.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/admin-guide/pm/intel-speed-select.rst (Version linux-6.12-rc7) and /Documentation/admin-guide/pm/intel-speed-select.rst (Version linux-5.2.21)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2                                                   
  3 ==============================================    
  4 Intel(R) Speed Select Technology User Guide       
  5 ==============================================    
  6                                                   
  7 The Intel(R) Speed Select Technology (Intel(R)    
  8 collection of features that give more granular    
  9 With Intel(R) SST, one server can be configure    
 10 variety of diverse workload requirements.         
 11                                                   
 12 Refer to the links below for an overview of th    
 13                                                   
 14 - https://www.intel.com/content/www/us/en/arch    
 15 - https://builders.intel.com/docs/networkbuild    
 16                                                   
 17 These capabilities are further enhanced in som    
 18 server platforms where these features can be e    
 19 dynamically without pre-configuring via BIOS s    
 20 configuration is done via mailbox commands to     
 21 and configure these features is by using the I    
 22                                                   
 23 This document explains how to use the Intel Sp    
 24 control Intel(R) SST features. This document g    
 25 how these commands change the power and perfor    
 26 test. Using this tool as an example, customers    
 27 implemented in the tool in their production so    
 28                                                   
 29 intel-speed-select configuration tool             
 30 ======================================            
 31                                                   
 32 Most Linux distribution packages may include t    
 33 it can be built by downloading the Linux kerne    
 34 downloaded, the tool can be built without buil    
 35                                                   
 36 From the kernel tree, run the following comman    
 37                                                   
 38 # cd tools/power/x86/intel-speed-select/          
 39 # make                                            
 40 # make install                                    
 41                                                   
 42 Getting Help                                      
 43 ------------                                      
 44                                                   
 45 To get help with the tool, execute the command    
 46                                                   
 47 # intel-speed-select --help                       
 48                                                   
 49 The top-level help describes arguments and fea    
 50 multi-level help structure in the tool. For ex    
 51                                                   
 52 # intel-speed-select perf-profile --help          
 53                                                   
 54 To get help on a command, another level of hel    
 55                                                   
 56 # intel-speed-select perf-profile info --help     
 57                                                   
 58 Summary of platform capability                    
 59 ------------------------------                    
 60 To check the current platform and driver capab    
 61                                                   
 62 #intel-speed-select --info                        
 63                                                   
 64 For example on a test system::                    
 65                                                   
 66  # intel-speed-select --info                      
 67  Intel(R) Speed Select Technology                 
 68  Executing on CPU model: X                        
 69  Platform: API version : 1                        
 70  Platform: Driver version : 1                     
 71  Platform: mbox supported : 1                     
 72  Platform: mmio supported : 1                     
 73  Intel(R) SST-PP (feature perf-profile) is sup    
 74  TDP level change control is unlocked, max lev    
 75  Intel(R) SST-TF (feature turbo-freq) is suppo    
 76  Intel(R) SST-BF (feature base-freq) is not su    
 77  Intel(R) SST-CP (feature core-power) is suppo    
 78                                                   
 79 Intel(R) Speed Select Technology - Performance    
 80 ----------------------------------------------    
 81                                                   
 82 This feature allows configuration of a server     
 83 performance requirements. This helps users dur    
 84 to choose a specific server configuration stat    
 85 Technology - Performance Profile (Intel(R) SST    
 86 that allows multiple optimized performance pro    
 87 defines a set of CPUs that need to be online a    
 88 guaranteed base frequency. Once the user issue    
 89 performance profile and meet CPU online/offlin    
 90 a change in the base frequency dynamically. Th    
 91 "perf-profile" when using the Intel Speed Sele    
 92                                                   
 93 Number or performance levels                      
 94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                     
 95                                                   
 96 There can be multiple performance profiles on     
 97 profiles, execute the command below::             
 98                                                   
 99  # intel-speed-select perf-profile get-config-    
100  Intel(R) Speed Select Technology                 
101  Executing on CPU model: X                        
102  package-0                                        
103   die-0                                           
104     cpu-0                                         
105         get-config-levels:4                       
106  package-1                                        
107   die-0                                           
108     cpu-14                                        
109         get-config-levels:4                       
110                                                   
111 On this system under test, there are 4 perform    
112 base performance profile (which is performance    
113                                                   
114 Lock/Unlock status                                
115 ~~~~~~~~~~~~~~~~~~                                
116                                                   
117 Even if there are multiple performance profile    
118 are locked. If they are locked, users cannot i    
119 performance state. It is possible that there i    
120 with your system vendor.                          
121                                                   
122 To check if the system is locked, execute the     
123                                                   
124  # intel-speed-select perf-profile get-lock-st    
125  Intel(R) Speed Select Technology                 
126  Executing on CPU model: X                        
127  package-0                                        
128   die-0                                           
129     cpu-0                                         
130         get-lock-status:0                         
131  package-1                                        
132   die-0                                           
133     cpu-14                                        
134         get-lock-status:0                         
135                                                   
136 In this case, lock status is 0, which means th    
137                                                   
138 Properties of a performance level                 
139 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 
140                                                   
141 To get properties of a specific performance le    
142                                                   
143  # intel-speed-select perf-profile info -l 0      
144  Intel(R) Speed Select Technology                 
145  Executing on CPU model: X                        
146  package-0                                        
147   die-0                                           
148     cpu-0                                         
149       perf-profile-level-0                        
150         cpu-count:28                              
151         enable-cpu-mask:000003ff,f0003fff         
152         enable-cpu-list:0,1,2,3,4,5,6,7,8,9,10    
153         thermal-design-power-ratio:26             
154         base-frequency(MHz):2600                  
155         speed-select-turbo-freq:disabled          
156         speed-select-base-freq:disabled           
157         ...                                       
158         ...                                       
159                                                   
160 Here -l option is used to specify a performanc    
161                                                   
162 If the option -l is omitted, then this command    
163 the performance levels. The above command is p    
164 performance level 0.                              
165                                                   
166 For this performance profile, the list of CPUs    
167 "enable-cpu-mask/enable-cpu-list" at the max c    
168 condition is met, then base frequency of 2600     
169 understand more, execute "intel-speed-select p    
170 level 4::                                         
171                                                   
172  # intel-speed-select perf-profile info -l 4      
173  Intel(R) Speed Select Technology                 
174  Executing on CPU model: X                        
175  package-0                                        
176   die-0                                           
177     cpu-0                                         
178       perf-profile-level-4                        
179         cpu-count:28                              
180         enable-cpu-mask:000000fa,f0000faf         
181         enable-cpu-list:0,1,2,3,5,7,8,9,10,11,    
182         thermal-design-power-ratio:28             
183         base-frequency(MHz):2800                  
184         speed-select-turbo-freq:disabled          
185         speed-select-base-freq:unsupported        
186         ...                                       
187         ...                                       
188                                                   
189 There are fewer CPUs in the "enable-cpu-mask/e    
190 the user only keeps these CPUs online and the     
191 frequency is increased to 2.8 GHz compared to     
192                                                   
193 Get current performance level                     
194 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                     
195                                                   
196 To get the current performance level, execute:    
197                                                   
198  # intel-speed-select perf-profile get-config-    
199  Intel(R) Speed Select Technology                 
200  Executing on CPU model: X                        
201  package-0                                        
202   die-0                                           
203     cpu-0                                         
204         get-config-current_level:0                
205                                                   
206 First verify that the base_frequency displayed    
207                                                   
208  # cat /sys/devices/system/cpu/cpu0/cpufreq/ba    
209  2600000                                          
210                                                   
211 This matches the base-frequency (MHz) field va    
212 "perf-profile info" command for performance le    
213 KHz).                                             
214                                                   
215 To check if the average frequency is equal to     
216 workload, disable turbo::                         
217                                                   
218 # echo 1 > /sys/devices/system/cpu/intel_pstat    
219                                                   
220 Then runs a busy workload on all CPUs, for exa    
221                                                   
222 #stress -c 64                                     
223                                                   
224 To verify the base frequency, run turbostat::     
225                                                   
226  #turbostat -c 0-13 --show Package,Core,CPU,Bz    
227                                                   
228   Package       Core    CPU     Bzy_MHz           
229                 -       -       2600              
230   0             0       0       2600              
231   0             1       1       2600              
232   0             2       2       2600              
233   0             3       3       2600              
234   0             4       4       2600              
235   .             .       .       .                 
236                                                   
237                                                   
238 Changing performance level                        
239 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
240                                                   
241 To the change the performance level to 4, exec    
242                                                   
243  # intel-speed-select -d perf-profile set-conf    
244  Intel(R) Speed Select Technology                 
245  Executing on CPU model: X                        
246  package-0                                        
247   die-0                                           
248     cpu-0                                         
249       perf-profile                                
250         set_tdp_level:success                     
251                                                   
252 In the command above, "-o" is optional. If it     
253 offline CPUs which are not present in the enab    
254 level.                                            
255                                                   
256 Now if the base_frequency is checked::            
257                                                   
258  #cat /sys/devices/system/cpu/cpu0/cpufreq/bas    
259  2800000                                          
260                                                   
261 Which shows that the base frequency now increa    
262 level 0 to 2800 MHz at performance level 4. As    
263 use fewer CPUs, can see a boost of 200 MHz com    
264                                                   
265 Changing performance level via BMC Interface      
266 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      
267                                                   
268 It is possible to change SST-PP level using ou    
269 remote management console, through BMC "Basebo    
270 interface). This mode is supported from the Sa    
271 generation. The kernel and tool change to supp    
272 kernel version 5.18. To enable this feature, k    
273 "CONFIG_INTEL_HFI_THERMAL" is required. The mi    
274 is "v1.12" to support this feature, which is p    
275                                                   
276 To support such configuration, this tool can b    
277 a command line option --oob::                     
278                                                   
279  # intel-speed-select --oob                       
280  Intel(R) Speed Select Technology                 
281  Executing on CPU model:143[0x8f]                 
282  OOB mode is enabled and will run as daemon       
283                                                   
284 In this mode the tool will online/offline CPUs    
285 level.                                            
286                                                   
287 Check presence of other Intel(R) SST features     
288 ---------------------------------------------     
289                                                   
290 Each of the performance profiles also specifie    
291 other two Intel(R) SST features (Intel(R) Spee    
292 (Intel(R) SST-BF) and Intel(R) Speed Select Te    
293 SST-TF)).                                         
294                                                   
295 For example, from the output of "perf-profile     
296 4:                                                
297                                                   
298 For level 0::                                     
299        speed-select-turbo-freq:disabled           
300        speed-select-base-freq:disabled            
301                                                   
302 For level 4::                                     
303        speed-select-turbo-freq:disabled           
304        speed-select-base-freq:unsupported         
305                                                   
306 Given these results, the "speed-select-base-fr    
307 changed from "disabled" to "unsupported" compa    
308                                                   
309 This means that at performance level 4, the "s    
310 not supported. However, at performance level 0    
311 currently "disabled", meaning the user has not    
312 "speed-select-turbo-freq" (Intel(R) SST-TF) is    
313 levels, but currently not activated by the use    
314                                                   
315 The Intel(R) SST-BF and the Intel(R) SST-TF fe    
316 technology called Intel(R) Speed Select Techno    
317 The platform firmware enables this feature whe    
318 is supported on a platform.                       
319                                                   
320 Intel(R) Speed Select Technology Core Power (I    
321 ----------------------------------------------    
322                                                   
323 Intel(R) Speed Select Technology Core Power (I    
324 allows users to define per core priority. This    
325 power among cores when there is a power constr    
326 class of service (CLOS) configuration.            
327                                                   
328 The user can configure up to 4 class of servic    
329 configuration allows definitions of parameters    
330 can be limited and power is distributed. Each     
331 service and hence an associated priority. The     
332 at per CPU level.                                 
333                                                   
334 Enable CLOS based prioritization                  
335 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 
336                                                   
337 To use CLOS based prioritization feature, firm    
338 and use a priority type. There is a default pe    
339 can be changed with optional command line para    
340                                                   
341 To enable and check the options, execute::        
342                                                   
343  # intel-speed-select core-power enable --help    
344  Intel(R) Speed Select Technology                 
345  Executing on CPU model: X                        
346  Enable core-power for a package/die              
347         Clos Enable: Specify priority type wit    
348                  0: Proportional, 1: Ordered      
349                                                   
350 There are two types of priority types:            
351                                                   
352 - Ordered                                         
353                                                   
354 Priority for ordered throttling is defined bas    
355 CLOS group. Where CLOS0 gets highest priority     
356                                                   
357 Priority order is:                                
358 CLOS0 > CLOS1 > CLOS2 > CLOS3.                    
359                                                   
360 - Proportional                                    
361                                                   
362 When proportional priority is used, there is a    
363 frequency_weight, which can be specified per C    
364 proportional priority is to provide each core     
365 distribute all remaining (excess/deficit) budg    
366 weight. This proportional priority can be conf    
367 command.                                          
368                                                   
369 To enable with the platform default priority t    
370                                                   
371  # intel-speed-select core-power enable           
372  Intel(R) Speed Select Technology                 
373  Executing on CPU model: X                        
374  package-0                                        
375   die-0                                           
376     cpu-0                                         
377       core-power                                  
378         enable:success                            
379  package-1                                        
380   die-0                                           
381     cpu-6                                         
382       core-power                                  
383         enable:success                            
384                                                   
385 The scope of this enable is per package or die    
386 multiple dies. To check if CLOS is enabled and    
387 info" command can be used. For example to chec    
388 on CPU 0, execute::                               
389                                                   
390  # intel-speed-select -c 0 core-power info        
391  Intel(R) Speed Select Technology                 
392  Executing on CPU model: X                        
393  package-0                                        
394   die-0                                           
395     cpu-0                                         
396       core-power                                  
397         support-status:supported                  
398         enable-status:enabled                     
399         clos-enable-status:enabled                
400         priority-type:proportional                
401  package-1                                        
402   die-0                                           
403     cpu-24                                        
404       core-power                                  
405         support-status:supported                  
406         enable-status:enabled                     
407         clos-enable-status:enabled                
408         priority-type:proportional                
409                                                   
410 Configuring CLOS groups                           
411 ~~~~~~~~~~~~~~~~~~~~~~~                           
412                                                   
413 Each CLOS group has its own attributes includi    
414 desired. These parameters can be configured wi    
415 Defaults will be used if user skips setting a     
416 mandatory. To check core-power config options,    
417                                                   
418  # intel-speed-select core-power config --help    
419  Intel(R) Speed Select Technology                 
420  Executing on CPU model: X                        
421  Set core-power configuration for one of the f    
422         Specify targeted clos id with [--clos|    
423         Specify clos Proportional Priority [--    
424         Specify clos min in MHz with [--min|-n    
425         Specify clos max in MHz with [--max|-m    
426                                                   
427 For example::                                     
428                                                   
429  # intel-speed-select core-power config -c 0      
430  Intel(R) Speed Select Technology                 
431  Executing on CPU model: X                        
432  clos epp is not specified, default: 0            
433  clos frequency weight is not specified, defau    
434  clos min is not specified, default: 0 MHz        
435  clos max is not specified, default: 25500 MHz    
436  clos desired is not specified, default: 0        
437  package-0                                        
438   die-0                                           
439     cpu-0                                         
440       core-power                                  
441         config:success                            
442  package-1                                        
443   die-0                                           
444     cpu-6                                         
445       core-power                                  
446         config:success                            
447                                                   
448 The user has the option to change defaults. Fo    
449 "min" and set the base frequency to always get    
450                                                   
451 Get the current CLOS configuration                
452 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
453                                                   
454 To check the current configuration, "core-powe    
455 example, to get the configuration of CLOS 0::     
456                                                   
457  # intel-speed-select core-power get-config -c    
458  Intel(R) Speed Select Technology                 
459  Executing on CPU model: X                        
460  package-0                                        
461   die-0                                           
462     cpu-0                                         
463       core-power                                  
464         clos:0                                    
465         epp:0                                     
466         clos-proportional-priority:0              
467         clos-min:0 MHz                            
468         clos-max:Max Turbo frequency              
469         clos-desired:0 MHz                        
470  package-1                                        
471   die-0                                           
472     cpu-24                                        
473       core-power                                  
474         clos:0                                    
475         epp:0                                     
476         clos-proportional-priority:0              
477         clos-min:0 MHz                            
478         clos-max:Max Turbo frequency              
479         clos-desired:0 MHz                        
480                                                   
481 Associating a CPU with a CLOS group               
482 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              
483                                                   
484 To associate a CPU to a CLOS group "core-power    
485                                                   
486  # intel-speed-select core-power assoc --help     
487  Intel(R) Speed Select Technology                 
488  Executing on CPU model: X                        
489  Associate a clos id to a CPU                     
490         Specify targeted clos id with [--clos|    
491                                                   
492                                                   
493 For example to associate CPU 10 to CLOS group     
494                                                   
495  # intel-speed-select -c 10 core-power assoc -    
496  Intel(R) Speed Select Technology                 
497  Executing on CPU model: X                        
498  package-0                                        
499   die-0                                           
500     cpu-10                                        
501       core-power                                  
502         assoc:success                             
503                                                   
504 Once a CPU is associated, its sibling CPUs are    
505 Once associated, avoid changing Linux "cpufreq    
506 limits.                                           
507                                                   
508 To check the existing association for a CPU, "    
509 be used. For example, to get association of CP    
510                                                   
511  # intel-speed-select -c 10 core-power get-ass    
512  Intel(R) Speed Select Technology                 
513  Executing on CPU model: X                        
514  package-1                                        
515   die-0                                           
516     cpu-10                                        
517       get-assoc                                   
518         clos:3                                    
519                                                   
520 This shows that CPU 10 is part of a CLOS group    
521                                                   
522                                                   
523 Disable CLOS based prioritization                 
524 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 
525                                                   
526 To disable, execute::                             
527                                                   
528 # intel-speed-select core-power disable           
529                                                   
530 Some features like Intel(R) SST-TF can only be    
531 is enabled. For this reason, disabling while I    
532 Intel(R) SST-TF to fail. This will cause the "    
533 if Intel(R) SST-TF is already enabled. In turn    
534 feature must be disabled first.                   
535                                                   
536 Intel(R) Speed Select Technology - Base Freque    
537 ----------------------------------------------    
538                                                   
539 The Intel(R) Speed Select Technology - Base Fr    
540 the user control base frequency. If some criti    
541 constant high guaranteed performance, then thi    
542 the thread at higher base frequency on specifi    
543 CPUs) at the cost of lower base frequency (low    
544 This feature does not require offline of the l    
545                                                   
546 The support of Intel(R) SST-BF depends on the     
547 Performance Profile (Intel(R) SST-PP) performa    
548 possible that only certain performance levels     
549 possible that only base performance level (lev    
550 SST-BF. Consequently, first select the desired    
551 feature.                                          
552                                                   
553 In the system under test here, Intel(R) SST-BF    
554 performance level 0, but currently disabled. F    
555                                                   
556  # intel-speed-select -c 0 perf-profile info -    
557  Intel(R) Speed Select Technology                 
558  Executing on CPU model: X                        
559  package-0                                        
560   die-0                                           
561     cpu-0                                         
562       perf-profile-level-0                        
563         ...                                       
564                                                   
565         speed-select-base-freq:disabled           
566         ...                                       
567                                                   
568 Before enabling Intel(R) SST-BF and measuring     
569 performance, execute some workload and measure    
570 performance to compare against.                   
571                                                   
572 Here the user wants more guaranteed performanc    
573 that turbo is disabled. To disable turbo, exec    
574                                                   
575 #echo 1 > /sys/devices/system/cpu/intel_pstate    
576                                                   
577 Based on the output of the "intel-speed-select    
578 frequency of guaranteed frequency 2600 MHz.       
579                                                   
580                                                   
581 Measure baseline performance for comparison       
582 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       
583                                                   
584 To compare, pick a multi-threaded workload whe    
585 separate CPUs. "Hackbench pipe" test is a good    
586 performance using Intel(R) SST-BF.                
587                                                   
588 Below, the workload is measuring average sched    
589 number means better performance::                 
590                                                   
591  # taskset -c 3,4 perf bench -r 100 sched pipe    
592  # Running 'sched/pipe' benchmark:                
593  # Executed 1000000 pipe operations between tw    
594      Total time: 6.102 [sec]                      
595        6.102445 usecs/op                          
596          163868 ops/sec                           
597                                                   
598 While running the above test, if we take turbo    
599 2 of the CPUs are busy and reaching max. frequ    
600 frequency as the turbo is disabled). The turbo    
601                                                   
602  #turbostat -c 0-13 --show Package,Core,CPU,Bz    
603  Package        Core    CPU     Bzy_MHz           
604  0              0       0       1000              
605  0              1       1       1005              
606  0              2       2       1000              
607  0              3       3       2600              
608  0              4       4       2600              
609  0              5       5       1000              
610  0              6       6       1000              
611  0              7       7       1005              
612  0              8       8       1005              
613  0              9       9       1000              
614  0              10      10      1000              
615  0              11      11      995               
616  0              12      12      1000              
617  0              13      13      1000              
618                                                   
619 From the above turbostat output, both CPU 3 an    
620 full guaranteed frequency of 2600 MHz.            
621                                                   
622 Intel(R) SST-BF Capabilities                      
623 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
624                                                   
625 To get capabilities of Intel(R) SST-BF for the    
626 execute::                                         
627                                                   
628  # intel-speed-select base-freq info -l 0         
629  Intel(R) Speed Select Technology                 
630  Executing on CPU model: X                        
631  package-0                                        
632   die-0                                           
633     cpu-0                                         
634       speed-select-base-freq                      
635         high-priority-base-frequency(MHz):3000    
636         high-priority-cpu-mask:00000216,000021    
637         high-priority-cpu-list:5,6,8,13,33,34,    
638         low-priority-base-frequency(MHz):2400     
639         tjunction-temperature(C):125              
640         thermal-design-power(W):205               
641                                                   
642 The above capabilities show that there are som    
643 offer base frequency of 3000 MHz compared to t    
644 performance levels. Nevertheless, these CPUs a    
645 via high-priority-cpu-list/high-priority-cpu-m    
646 feature is selected, the low priorities CPUs (    
647 high-priority-cpu-list) can only offer up to 2    
648 clipping of low priority CPUs is acceptable, t    
649 SST-BF feature particularly for the above "sch    
650 CPUs are used, they can be scheduled on high p    
651 400 MHz.                                          
652                                                   
653 Enable Intel(R) SST-BF                            
654 ~~~~~~~~~~~~~~~~~~~~~~                            
655                                                   
656 To enable Intel(R) SST-BF feature, execute::      
657                                                   
658  # intel-speed-select base-freq enable -a         
659  Intel(R) Speed Select Technology                 
660  Executing on CPU model: X                        
661  package-0                                        
662   die-0                                           
663     cpu-0                                         
664       base-freq                                   
665         enable:success                            
666  package-1                                        
667   die-0                                           
668     cpu-14                                        
669       base-freq                                   
670         enable:success                            
671                                                   
672 In this case, -a option is optional. This not     
673 also adjusts the priority of cores using Intel    
674 Power (Intel(R) SST-CP) features. This option     
675 Intel(R) Speed Select Technology - Performance    
676 maximum performance so that the hardware will     
677 for each CPU.                                     
678                                                   
679 If -a option is not used, then the following s    
680 Intel(R) SST-BF:                                  
681                                                   
682 - Discover Intel(R) SST-BF and note low and hi    
683 - Note the high priority CPU list                 
684 - Enable CLOS using core-power feature set        
685 - Configure CLOS parameters. Use CLOS.min to s    
686 - Subscribe desired CPUs to CLOS groups           
687                                                   
688 With this configuration, if the same workload     
689 workload to high priority CPUs (CPU 5 and 6 in    
690                                                   
691  #taskset -c 5,6 perf bench -r 100 sched pipe     
692  # Running 'sched/pipe' benchmark:                
693  # Executed 1000000 pipe operations between tw    
694      Total time: 5.627 [sec]                      
695        5.627922 usecs/op                          
696          177685 ops/sec                           
697                                                   
698 This way, by enabling Intel(R) SST-BF, the per    
699 improved (latency reduced) by 7.79%. From the     
700 observed that the high priority CPUs reached 3    
701 The turbostat output::                            
702                                                   
703  #turbostat -c 0-13 --show Package,Core,CPU,Bz    
704  Package        Core    CPU     Bzy_MHz           
705  0              0       0       2151              
706  0              1       1       2166              
707  0              2       2       2175              
708  0              3       3       2175              
709  0              4       4       2175              
710  0              5       5       3000              
711  0              6       6       3000              
712  0              7       7       2180              
713  0              8       8       2662              
714  0              9       9       2176              
715  0              10      10      2175              
716  0              11      11      2176              
717  0              12      12      2176              
718  0              13      13      2661              
719                                                   
720 Disable Intel(R) SST-BF                           
721 ~~~~~~~~~~~~~~~~~~~~~~~                           
722                                                   
723 To disable the Intel(R) SST-BF feature, execut    
724                                                   
725 # intel-speed-select base-freq disable -a         
726                                                   
727                                                   
728 Intel(R) Speed Select Technology - Turbo Frequ    
729 ----------------------------------------------    
730                                                   
731 This feature enables the ability to set differ    
732 to cores based on the priority. By using this     
733 configured to get higher turbo frequency by de    
734 the cost of lower or no turbo frequency on the    
735                                                   
736 For this reason, this feature is only useful w    
737 CPUs, but the user wants some configurable opt    
738 some CPUs.                                        
739                                                   
740 The support of Intel(R) Speed Select Technolog    
741 depends on the Intel(R) Speed Select Technolog    
742 SST-PP) performance level configuration. It is    
743 performance level supports Intel(R) SST-TF. It    
744 performance level (level = 0) has the support     
745 select the desired performance level to enable    
746                                                   
747 In the system under test here, Intel(R) SST-TF    
748 performance level 0, but currently disabled::     
749                                                   
750  # intel-speed-select -c 0 perf-profile info -    
751  Intel(R) Speed Select Technology                 
752  package-0                                        
753   die-0                                           
754     cpu-0                                         
755       perf-profile-level-0                        
756         ...                                       
757         ...                                       
758         speed-select-turbo-freq:disabled          
759         ...                                       
760         ...                                       
761                                                   
762                                                   
763 To check if performance can be improved using     
764 frequency properties with Intel(R) SST-TF enab    
765 capability of this system.                        
766                                                   
767 Get Base turbo capability                         
768 ~~~~~~~~~~~~~~~~~~~~~~~~~                         
769                                                   
770 To get the base turbo capability of performanc    
771                                                   
772  # intel-speed-select perf-profile info -l 0      
773  Intel(R) Speed Select Technology                 
774  Executing on CPU model: X                        
775  package-0                                        
776   die-0                                           
777     cpu-0                                         
778       perf-profile-level-0                        
779         ...                                       
780         ...                                       
781         turbo-ratio-limits-sse                    
782           bucket-0                                
783             core-count:2                          
784             max-turbo-frequency(MHz):3200         
785           bucket-1                                
786             core-count:4                          
787             max-turbo-frequency(MHz):3100         
788           bucket-2                                
789             core-count:6                          
790             max-turbo-frequency(MHz):3100         
791           bucket-3                                
792             core-count:8                          
793             max-turbo-frequency(MHz):3100         
794           bucket-4                                
795             core-count:10                         
796             max-turbo-frequency(MHz):3100         
797           bucket-5                                
798             core-count:12                         
799             max-turbo-frequency(MHz):3100         
800           bucket-6                                
801             core-count:14                         
802             max-turbo-frequency(MHz):3100         
803           bucket-7                                
804             core-count:16                         
805             max-turbo-frequency(MHz):3100         
806                                                   
807 Based on the data above, when all the CPUS are    
808 MHz can be achieved. If there is some busy wor    
809 and on CPU 12 and 13, execute "hackbench pipe"    
810                                                   
811  # taskset -c 12,13 perf bench -r 100 sched pi    
812  # Running 'sched/pipe' benchmark:                
813  # Executed 1000000 pipe operations between tw    
814      Total time: 5.705 [sec]                      
815        5.705488 usecs/op                          
816          175269 ops/sec                           
817                                                   
818 The turbostat output::                            
819                                                   
820  #turbostat -c 0-13 --show Package,Core,CPU,Bz    
821  Package        Core    CPU     Bzy_MHz           
822  0              0       0       3000              
823  0              1       1       3000              
824  0              2       2       3000              
825  0              3       3       3000              
826  0              4       4       3000              
827  0              5       5       3100              
828  0              6       6       3100              
829  0              7       7       3000              
830  0              8       8       3100              
831  0              9       9       3000              
832  0              10      10      3000              
833  0              11      11      3000              
834  0              12      12      3100              
835  0              13      13      3100              
836                                                   
837 Based on turbostat output, the performance is     
838 MHz. To check if the hackbench performance can    
839 13, first check the capability of the Intel(R)    
840 level.                                            
841                                                   
842 Get Intel(R) SST-TF Capability                    
843 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                    
844                                                   
845 To get the capability, the "turbo-freq info" c    
846                                                   
847  # intel-speed-select turbo-freq info -l 0        
848  Intel(R) Speed Select Technology                 
849  Executing on CPU model: X                        
850  package-0                                        
851   die-0                                           
852     cpu-0                                         
853       speed-select-turbo-freq                     
854           bucket-0                                
855             high-priority-cores-count:2           
856             high-priority-max-frequency(MHz):3    
857             high-priority-max-avx2-frequency(M    
858             high-priority-max-avx512-frequency    
859           bucket-1                                
860             high-priority-cores-count:4           
861             high-priority-max-frequency(MHz):3    
862             high-priority-max-avx2-frequency(M    
863             high-priority-max-avx512-frequency    
864           bucket-2                                
865             high-priority-cores-count:6           
866             high-priority-max-frequency(MHz):3    
867             high-priority-max-avx2-frequency(M    
868             high-priority-max-avx512-frequency    
869           speed-select-turbo-freq-clip-frequen    
870             low-priority-max-frequency(MHz):26    
871             low-priority-max-avx2-frequency(MH    
872             low-priority-max-avx512-frequency(    
873                                                   
874 Based on the output above, there is an Intel(R    
875 two high priority cores. If only two high prio    
876 turbo frequency on those cores can be increase    
877 more than the base turbo capability for all co    
878                                                   
879 In turn, for the hackbench workload, two CPUs     
880 rest as low priority. One side effect is that     
881 cores will be clipped to a lower frequency of     
882                                                   
883 Enable Intel(R) SST-TF                            
884 ~~~~~~~~~~~~~~~~~~~~~~                            
885                                                   
886 To enable Intel(R) SST-TF, execute::              
887                                                   
888  # intel-speed-select -c 12,13 turbo-freq enab    
889  Intel(R) Speed Select Technology                 
890  Executing on CPU model: X                        
891  package-0                                        
892   die-0                                           
893     cpu-12                                        
894       turbo-freq                                  
895         enable:success                            
896  package-0                                        
897   die-0                                           
898     cpu-13                                        
899       turbo-freq                                  
900         enable:success                            
901  package--1                                       
902   die-0                                           
903     cpu-63                                        
904       turbo-freq --auto                           
905         enable:success                            
906                                                   
907 In this case, the option "-a" is optional. If     
908 feature and also sets the CPUs to high and low    
909 Select Technology Core Power (Intel(R) SST-CP)    
910 with "-c" arguments are marked as high priorit    
911                                                   
912 If -a option is not used, then the following s    
913 Intel(R) SST-TF:                                  
914                                                   
915 - Discover Intel(R) SST-TF and note buckets of    
916                                                   
917 - Enable CLOS using core-power feature set - C    
918                                                   
919 - Subscribe desired CPUs to CLOS groups making    
920                                                   
921 If the same hackbench workload is executed, sc    
922 priority CPUs::                                   
923                                                   
924  #taskset -c 12,13 perf bench -r 100 sched pip    
925  # Running 'sched/pipe' benchmark:                
926  # Executed 1000000 pipe operations between tw    
927      Total time: 5.510 [sec]                      
928        5.510165 usecs/op                          
929          180826 ops/sec                           
930                                                   
931 This improved performance by around 3.3% impro    
932 turbostat output will show that the CPU 12 and    
933 The turbostat output::                            
934                                                   
935  #turbostat -c 0-13 --show Package,Core,CPU,Bz    
936  Package        Core    CPU     Bzy_MHz           
937  ...                                              
938  0              12      12      3200              
939  0              13      13      3200              
                                                      

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