Lines Matching +full:high +full:- +full:power
1 .. SPDX-License-Identifier: GPL-2.0
9 With Intel(R) SST, one server can be configured for power and performance for a
14 - https://www.intel.com/content/www/us/en/architecture-and-technology/speed-select-technology-artic…
15 - https://builders.intel.com/docs/networkbuilders/intel-speed-select-technology-base-frequency-enha…
19 dynamically without pre-configuring via BIOS setup options. This dynamic
25 how these commands change the power and performance profile of the system under
29 intel-speed-select configuration tool
32 Most Linux distribution packages may include the "intel-speed-select" tool. If not,
38 # cd tools/power/x86/intel-speed-select/
43 ------------
47 # intel-speed-select --help
49 The top-level help describes arguments and features. Notice that there is a
50 multi-level help structure in the tool. For example, to get help for the feature "perf-profile"::
52 # intel-speed-select perf-profile --help
56 # intel-speed-select perf-profile info --help
59 ------------------------------
62 #intel-speed-select --info
66 # intel-speed-select --info
73 Intel(R) SST-PP (feature perf-profile) is supported
75 Intel(R) SST-TF (feature turbo-freq) is supported
76 Intel(R) SST-BF (feature base-freq) is not supported
77 Intel(R) SST-CP (feature core-power) is supported
79 Intel(R) Speed Select Technology - Performance Profile (Intel(R) SST-PP)
80 ------------------------------------------------------------------------
85 Technology - Performance Profile (Intel(R) SST-PP) feature introduces a mechanism
91 "perf-profile" when using the Intel Speed Select tool.
99 # intel-speed-select perf-profile get-config-levels
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
124 # intel-speed-select perf-profile get-lock-status
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
143 # intel-speed-select perf-profile info -l 0
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,11,12,13,28,29,30,31,32,33,34,35,36,37,38,39,40,41
153 thermal-design-power-ratio:26
154 base-frequency(MHz):2600
155 speed-select-turbo-freq:disabled
156 speed-select-base-freq:disabled
160 Here -l option is used to specify a performance level.
162 If the option -l is omitted, then this command will print information about all
167 "enable-cpu-mask/enable-cpu-list" at the max can be "online." When that
169 understand more, execute "intel-speed-select perf-profile info" for performance
172 # intel-speed-select perf-profile info -l 4
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,28,29,30,31,33,35,36,37,38,39
182 thermal-design-power-ratio:28
183 base-frequency(MHz):2800
184 speed-select-turbo-freq:disabled
185 speed-select-base-freq:unsupported
189 There are fewer CPUs in the "enable-cpu-mask/enable-cpu-list". Consequently, if
198 # intel-speed-select perf-profile get-config-current-level
201 package-0
202 die-0
203 cpu-0
204 get-config-current_level:0
211 This matches the base-frequency (MHz) field value displayed from the
212 "perf-profile info" command for performance level 0(cpufreq frequency is in
222 #stress -c 64
226 #turbostat -c 0-13 --show Package,Core,CPU,Bzy_MHz -i 1
229 - - 2600
243 # intel-speed-select -d perf-profile set-config-level -l 4 -o
246 package-0
247 die-0
248 cpu-0
249 perf-profile
252 In the command above, "-o" is optional. If it is specified, then it will also
268 It is possible to change SST-PP level using out of band (OOB) agent (Via some
277 a command line option --oob::
279 # intel-speed-select --oob
288 ---------------------------------------------
291 other two Intel(R) SST features (Intel(R) Speed Select Technology - Base Frequency
292 (Intel(R) SST-BF) and Intel(R) Speed Select Technology - Turbo Frequency (Intel
293 SST-TF)).
295 For example, from the output of "perf-profile info" above, for level 0 and level
299 speed-select-turbo-freq:disabled
300 speed-select-base-freq:disabled
303 speed-select-turbo-freq:disabled
304 speed-select-base-freq:unsupported
306 Given these results, the "speed-select-base-freq" (Intel(R) SST-BF) in level 4
309 This means that at performance level 4, the "speed-select-base-freq" feature is
312 "speed-select-turbo-freq" (Intel(R) SST-TF) is supported at both performance
315 The Intel(R) SST-BF and the Intel(R) SST-TF features are built on a foundation
316 technology called Intel(R) Speed Select Technology - Core Power (Intel(R) SST-CP).
317 The platform firmware enables this feature when Intel(R) SST-BF or Intel(R) SST-TF
320 Intel(R) Speed Select Technology Core Power (Intel(R) SST-CP)
321 ---------------------------------------------------------------
323 Intel(R) Speed Select Technology Core Power (Intel(R) SST-CP) is an interface that
325 power among cores when there is a power constrained scenario. This defines a
330 can be limited and power is distributed. Each CPU core can be tied to a class of
343 # intel-speed-select core-power enable --help
346 Enable core-power for a package/die
347 Clos Enable: Specify priority type with [--priority|-p]
352 - Ordered
360 - Proportional
366 weight. This proportional priority can be configured using "core-power config"
371 # intel-speed-select core-power enable
374 package-0
375 die-0
376 cpu-0
377 core-power
379 package-1
380 die-0
381 cpu-6
382 core-power
386 multiple dies. To check if CLOS is enabled and get priority type, "core-power
387 info" command can be used. For example to check the status of core-power feature
390 # intel-speed-select -c 0 core-power info
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
414 desired. These parameters can be configured with "core-power config" command.
416 mandatory. To check core-power config options, execute::
418 # intel-speed-select core-power config --help
421 Set core-power configuration for one of the four clos ids
422 Specify targeted clos id with [--clos|-c]
423 Specify clos Proportional Priority [--weight|-w]
424 Specify clos min in MHz with [--min|-n]
425 Specify clos max in MHz with [--max|-m]
429 # intel-speed-select core-power config -c 0
437 package-0
438 die-0
439 cpu-0
440 core-power
442 package-1
443 die-0
444 cpu-6
445 core-power
454 To check the current configuration, "core-power get-config" can be used. For
457 # intel-speed-select core-power get-config -c 0
460 package-0
461 die-0
462 cpu-0
463 core-power
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
476 clos-proportional-priority:0
477 clos-min:0 MHz
478 clos-max:Max Turbo frequency
479 clos-desired:0 MHz
484 To associate a CPU to a CLOS group "core-power assoc" command can be used::
486 # intel-speed-select core-power assoc --help
490 Specify targeted clos id with [--clos|-c]
495 # intel-speed-select -c 10 core-power assoc -c 3
498 package-0
499 die-0
500 cpu-10
501 core-power
508 To check the existing association for a CPU, "core-power get-assoc" command can
511 # intel-speed-select -c 10 core-power get-assoc
514 package-1
515 die-0
516 cpu-10
517 get-assoc
528 # intel-speed-select core-power disable
530 Some features like Intel(R) SST-TF can only be enabled when CLOS based prioritization
531 is enabled. For this reason, disabling while Intel(R) SST-TF is enabled can cause
532 Intel(R) SST-TF to fail. This will cause the "disable" command to display an error
533 if Intel(R) SST-TF is already enabled. In turn, to disable, the Intel(R) SST-TF
536 Intel(R) Speed Select Technology - Base Frequency (Intel(R) SST-BF)
537 -------------------------------------------------------------------
539 The Intel(R) Speed Select Technology - Base Frequency (Intel(R) SST-BF) feature lets
541 constant high guaranteed performance, then this feature can be used to execute
542 the thread at higher base frequency on specific sets of CPUs (high priority
546 The support of Intel(R) SST-BF depends on the Intel(R) Speed Select Technology -
547 Performance Profile (Intel(R) SST-PP) performance level configuration. It is
548 possible that only certain performance levels support Intel(R) SST-BF. It is also
550 SST-BF. Consequently, first select the desired performance level to enable this
553 In the system under test here, Intel(R) SST-BF is supported at the base
556 # intel-speed-select -c 0 perf-profile info -l 0
559 package-0
560 die-0
561 cpu-0
562 perf-profile-level-0
565 speed-select-base-freq:disabled
568 Before enabling Intel(R) SST-BF and measuring its impact on a workload
577 Based on the output of the "intel-speed-select perf-profile info -l 0" base
584 To compare, pick a multi-threaded workload where each thread can be scheduled on
586 performance using Intel(R) SST-BF.
591 # taskset -c 3,4 perf bench -r 100 sched pipe
602 #turbostat -c 0-13 --show Package,Core,CPU,Bzy_MHz -i 1
622 Intel(R) SST-BF Capabilities
625 To get capabilities of Intel(R) SST-BF for the current performance level 0,
628 # intel-speed-select base-freq info -l 0
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,00002160
637 high-priority-cpu-list:5,6,8,13,33,34,36,41
638 low-priority-base-frequency(MHz):2400
639 tjunction-temperature(C):125
640 thermal-design-power(W):205
645 via high-priority-cpu-list/high-priority-cpu-mask. But if this Intel(R) SST-BF
647 high-priority-cpu-list) can only offer up to 2400 MHz. As a result, if this
649 SST-BF feature particularly for the above "sched pipe" workload since only two
650 CPUs are used, they can be scheduled on high priority CPUs and can get boost of
653 Enable Intel(R) SST-BF
656 To enable Intel(R) SST-BF feature, execute::
658 # intel-speed-select base-freq enable -a
661 package-0
662 die-0
663 cpu-0
664 base-freq
666 package-1
667 die-0
668 cpu-14
669 base-freq
672 In this case, -a option is optional. This not only enables Intel(R) SST-BF, but it
674 Power (Intel(R) SST-CP) features. This option sets the minimum performance of each
675 Intel(R) Speed Select Technology - Performance Profile (Intel(R) SST-PP) class to
679 If -a option is not used, then the following steps are required before enabling
680 Intel(R) SST-BF:
682 - Discover Intel(R) SST-BF and note low and high priority base frequency
683 - Note the high priority CPU list
684 - Enable CLOS using core-power feature set
685 - Configure CLOS parameters. Use CLOS.min to set to minimum performance
686 - Subscribe desired CPUs to CLOS groups
689 workload to high priority CPUs (CPU 5 and 6 in this case)::
691 #taskset -c 5,6 perf bench -r 100 sched pipe
698 This way, by enabling Intel(R) SST-BF, the performance of this benchmark is
700 observed that the high priority CPUs reached 3000 MHz compared to 2600 MHz.
703 #turbostat -c 0-13 --show Package,Core,CPU,Bzy_MHz -i 1
720 Disable Intel(R) SST-BF
723 To disable the Intel(R) SST-BF feature, execute::
725 # intel-speed-select base-freq disable -a
728 Intel(R) Speed Select Technology - Turbo Frequency (Intel(R) SST-TF)
729 --------------------------------------------------------------------
733 configured to get higher turbo frequency by designating them as high priority at
737 CPUs, but the user wants some configurable option to get high performance on
740 The support of Intel(R) Speed Select Technology - Turbo Frequency (Intel(R) SST-TF)
741 depends on the Intel(R) Speed Select Technology - Performance Profile (Intel
742 SST-PP) performance level configuration. It is possible that only a certain
743 performance level supports Intel(R) SST-TF. It is also possible that only the base
744 performance level (level = 0) has the support of Intel(R) SST-TF. Hence, first
747 In the system under test here, Intel(R) SST-TF is supported at the base
750 # intel-speed-select -c 0 perf-profile info -l 0
752 package-0
753 die-0
754 cpu-0
755 perf-profile-level-0
758 speed-select-turbo-freq:disabled
763 To check if performance can be improved using Intel(R) SST-TF feature, get the turbo
764 frequency properties with Intel(R) SST-TF enabled and compare to the base turbo
772 # intel-speed-select perf-profile info -l 0
775 package-0
776 die-0
777 cpu-0
778 perf-profile-level-0
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
808 MHz can be achieved. If there is some busy workload on cpu 0 - 11 (e.g. stress)
811 # taskset -c 12,13 perf bench -r 100 sched pipe
820 #turbostat -c 0-13 --show Package,Core,CPU,Bzy_MHz -i 1
839 13, first check the capability of the Intel(R) SST-TF feature for this performance
842 Get Intel(R) SST-TF Capability
845 To get the capability, the "turbo-freq info" command can be used::
847 # intel-speed-select turbo-freq info -l 0
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):3200
857 high-priority-max-avx2-frequency(MHz):3200
858 high-priority-max-avx512-frequency(MHz):3100
859 bucket-1
860 high-priority-cores-count:4
861 high-priority-max-frequency(MHz):3100
862 high-priority-max-avx2-frequency(MHz):3000
863 high-priority-max-avx512-frequency(MHz):2900
864 bucket-2
865 high-priority-cores-count:6
866 high-priority-max-frequency(MHz):3100
867 high-priority-max-avx2-frequency(MHz):3000
868 high-priority-max-avx512-frequency(MHz):2900
869 speed-select-turbo-freq-clip-frequencies
870 low-priority-max-frequency(MHz):2600
871 low-priority-max-avx2-frequency(MHz):2400
872 low-priority-max-avx512-frequency(MHz):2100
874 Based on the output above, there is an Intel(R) SST-TF bucket for which there are
875 two high priority cores. If only two high priority cores are set, then max.
879 In turn, for the hackbench workload, two CPUs can be set as high priority and
883 Enable Intel(R) SST-TF
886 To enable Intel(R) SST-TF, execute::
888 # intel-speed-select -c 12,13 turbo-freq enable -a
891 package-0
892 die-0
893 cpu-12
894 turbo-freq
896 package-0
897 die-0
898 cpu-13
899 turbo-freq
901 package--1
902 die-0
903 cpu-63
904 turbo-freq --auto
907 In this case, the option "-a" is optional. If set, it enables Intel(R) SST-TF
908 feature and also sets the CPUs to high and low priority using Intel Speed
909 Select Technology Core Power (Intel(R) SST-CP) features. The CPU numbers passed
910 with "-c" arguments are marked as high priority, including its siblings.
912 If -a option is not used, then the following steps are required before enabling
913 Intel(R) SST-TF:
915 - Discover Intel(R) SST-TF and note buckets of high priority cores and maximum frequency
917 - Enable CLOS using core-power feature set - Configure CLOS parameters
919 - Subscribe desired CPUs to CLOS groups making sure that high priority cores are set to the maximum…
921 If the same hackbench workload is executed, schedule hackbench threads on high
924 #taskset -c 12,13 perf bench -r 100 sched pipe
935 #turbostat -c 0-13 --show Package,Core,CPU,Bzy_MHz -i 1