2

I installed Ubuntu 20.04 and have the following cpu:

grep -E '^model name|^cpu MHz' /proc/cpuinfo

model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz cpu MHz : 3000.025 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz cpu MHz : 2721.680 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz cpu MHz : 2999.579 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz cpu MHz : 3000.027 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz cpu MHz : 2993.468 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz cpu MHz : 3000.568 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz cpu MHz : 2989.114 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz cpu MHz : 3001.278

I use the following command to set governor and frequency range:

sudo cpupower frequency-set --governor performance --min 2600000 --max 3000000

And the following command to verify it:

cpupower frequency-info

analyzing CPU 0: driver: intel_pstate CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: Cannot determine or is not supported. hardware limits: 400 MHz - 4.00 GHz available cpufreq governors: performance powersave current policy: frequency should be within 2.60 GHz and 3.00 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency: Unable to call hardware current CPU frequency: 3.00 GHz (asserted by call to kernel) boost state support: Supported: yes Active: yes

Current frequency is in specified range, this is true under no-load conditions.

However, after I start program (gmic) that loads cpu, current frequency drops below specified range:

cpupower frequency-info

analyzing CPU 0: driver: intel_pstate CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: Cannot determine or is not supported. hardware limits: 400 MHz - 4.00 GHz available cpufreq governors: performance powersave current policy: frequency should be within 2.60 GHz and 3.00 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency: Unable to call hardware current CPU frequency: 1.80 GHz (asserted by call to kernel) boost state support: Supported: yes Active: yes

Under Windows I run the same application and achieve much higher performance. Under no-load conditions frequency is around 1GHz, and under load frequency jumps to 2.6GHz. So I don't think it is hardware or bios related issue.

I rebooted Ubuntu to discard my cpu frequency changes (so they are defaults again). I will monitor cpu frequency and other important info with turbostat utility.

Here is turbostat output:

sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 5

Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt 0.85 703 1663 45 1.22 0.00 0.00 0.81 654 1565 46 1.22 0.00 0.00 0.63 656 1338 45 1.19 0.00 0.00 0.74 664 1440 45 1.20 0.00 0.00 2.71 1650 2587 46 1.76 0.00 0.00 4.44 842 4362 46 1.53 0.00 0.00 5.35 1667 4806 46 2.45 0.00 0.00 5.47 831 4510 46 1.53 0.00 0.00 5.50 991 5130 47 1.68 0.00 0.00 2.73 1093 3055 48 1.48 0.00 0.00 2.49 1025 2780 57 1.47 0.00 0.00 2.28 2651 2098 47 2.53 0.00 0.00 1.35 1908 1685 47 1.63 0.00 0.00 1.03 1063 1823 47 1.29 0.00 0.00 1.41 995 2057 47 1.37 0.00 0.00 1.00 1003 1628 46 1.29 0.00 0.00 1.48 1132 1946 46 1.36 0.00 0.00 0.88 935 1488 46 1.25 0.00 0.00 1.13 957 1740 46 1.30 0.00 0.00 1.07 904 1660 46 1.28 0.00 0.00 2.85 895 3249 46 1.52 0.00 0.00 1.19 755 1686 46 1.25 0.00 0.00 2.25 1224 2992 70 1.57 0.00 0.00

the moment program that loads cpu started

82.89 3703 13909 71 23.55 0.00 0.00 99.70 2589 11348 54 14.88 0.00 0.00 99.64 1960 11179 53 6.04 0.00 0.00 99.67 2122 11149 53 6.37 0.00 0.00 98.61 1851 11558 54 6.59 0.00 0.00 99.71 1577 11087 53 6.38 0.00 0.00 99.72 1546 11028 54 6.37 0.00 0.00 99.70 1740 11231 54 6.28 0.00 0.00 99.63 1945 11376 54 6.45 0.00 0.00 99.56 1939 11804 52 6.51 0.00 0.00 99.60 1949 11816 52 6.46 0.00 0.00 99.63 1971 11599 54 6.49 0.00 0.00 99.74 1833 11475 52 6.51 0.00 0.00 99.76 1711 11436 53 6.45 0.00 0.00 99.74 1800 11383 52 6.28 0.00 0.00 99.71 2117 11446 53 6.45 0.00 0.00 99.45 2031 11728 55 6.64 0.00 0.00 99.61 1646 11629 53 6.54 0.00 0.00 99.74 1562 11550 53 6.37 0.00 0.00 99.74 1599 11559 53 6.45 0.00 0.00 99.69 1670 11379 52 6.37 0.00 0.00 99.67 1866 11664 52 6.40 0.00 0.00 99.62 1963 11871 53 6.44 0.00 0.00 99.60 1961 11956 54 6.53 0.00 0.00 99.64 1919 11791 52 6.41 0.00 0.00 99.72 1831 11575 54 6.54 0.00 0.00 99.74 1794 11408 54 6.40 0.00 0.00 99.74 1802 11737 53 6.44 0.00 0.00 99.71 1991 11491 52 6.38 0.00 0.00 99.70 2005 11542 53 6.61 0.00 0.00 97.88 1706 11697 53 6.51 0.00 0.00 99.73 1571 12302 53 6.38 0.00 0.00 99.72 1550 12159 54 6.47 0.00 0.00 94.27 1650 12576 50 6.04 0.00 0.00

the moment program that loads cpu terminated

3.03 827 3706 48 1.49 0.00 0.00 1.73 789 2349 47 1.32 0.00 0.00 2.88 818 3389 47 1.38 0.00 0.00 1.82 777 2359 46 1.27 0.00 0.00 1.74 730 2233 47 1.25 0.00 0.00 2.28 756 2906 46 1.31 0.00 0.00 2.59 813 2916 45 1.34 0.00 0.00 2.59 909 3089 46 1.39 0.00 0.00 2.32 752 3077 46 1.33 0.00 0.00 2.09 899 2738 45 1.31 0.00 0.00 1.79 808 2245 45 1.27 0.00 0.00 1.73 818 2126 44 1.26 0.00 0.00 1.78 808 2231 44 1.26 0.00 0.00 1.88 870 2320 45 1.31 0.00 0.00

Now I will execute the following command again:

sudo cpupower frequency-set --governor performance --min 2600000 --max 3000000

Let's see turbostat output under these conditions:

sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 5

Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt 0.67 2999 2148 45 1.44 0.00 0.00 0.74 2999 2251 45 1.44 0.00 0.00 0.69 2999 2130 45 1.42 0.00 0.00 1.81 2998 3719 45 2.01 0.00 0.00 2.76 2993 5245 45 2.49 0.00 0.00 0.96 2997 3300 45 1.62 0.00 0.00 0.99 2996 3248 45 1.63 0.00 0.00 1.56 2988 4440 46 1.93 0.00 0.00 0.61 2999 2106 45 1.41 0.00 0.00 0.60 2998 2200 45 1.40 0.00 0.00 0.60 2974 2105 45 1.42 0.00 0.00 0.69 2958 2280 45 1.45 0.00 0.00 0.73 2976 2829 45 1.46 0.00 0.00 0.69 3000 2127 45 1.43 0.00 0.00 0.67 2998 2071 45 1.43 0.00 0.00 0.89 3000 2709 45 1.61 0.00 0.00 1.27 2997 3685 45 1.85 0.00 0.00

the moment program that loads cpu started

11.67 3000 4679 58 3.48 0.00 0.00 99.74 3000 12823 70 14.83 0.00 0.00 99.69 3000 11618 64 16.38 0.00 0.00 99.69 2623 11406 54 9.63 0.00 0.00 95.83 1975 11912 56 6.35 0.00 0.00 99.02 1650 11763 53 6.36 0.00 0.00 99.73 1525 11397 54 6.34 0.00 0.00 99.73 1593 12664 53 6.32 0.00 0.00 99.67 1812 13476 52 6.40 0.00 0.00 99.63 1913 13013 53 6.39 0.00 0.00 99.51 1934 11901 54 6.48 0.00 0.00 99.62 1973 11892 52 6.44 0.00 0.00 99.70 1899 11586 54 6.59 0.00 0.00 99.76 1775 11497 54 6.45 0.00 0.00 99.76 1702 11638 54 6.40 0.00 0.00 99.71 1975 11709 53 6.28 0.00 0.00 99.69 2134 11636 53 6.52 0.00 0.00 99.37 1841 11991 53 6.66 0.00 0.00 99.66 1577 11541 53 6.43 0.00 0.00 99.69 1580 11430 53 6.38 0.00 0.00 99.73 1576 11357 53 6.43 0.00 0.00 99.69 1759 11356 52 6.34 0.00 0.00 99.62 1934 11787 53 6.46 0.00 0.00 99.49 1955 11894 52 6.50 0.00 0.00 99.63 1939 11815 52 6.48 0.00 0.00 99.70 1938 11668 53 6.48 0.00 0.00 99.75 1751 11530 54 6.47 0.00 0.00 99.75 1734 11578 53 6.45 0.00 0.00 44.89 1778 8422 49 3.88 0.00 0.00

the moment program that loads cpu terminated

0.61 2997 2309 48 1.49 0.00 0.00 0.88 2999 4576 47 1.54 0.00 0.00 0.68 3000 1906 47 1.43 0.00 0.00 0.85 2995 2237 46 1.54 0.00 0.00 0.89 2987 2430 46 1.53 0.00 0.00 0.61 2989 2091 46 1.41 0.00 0.00 0.66 2934 1990 46 1.46 0.00 0.00 1.58 2980 4030 46 2.05 0.00 0.00 1.49 2995 4678 46 2.01 0.00 0.00 1.46 2991 4713 45 1.97 0.00 0.00 0.74 2994 2481 46 1.49 0.00 0.00 0.82 2999 3804 45 1.48 0.00 0.00 0.69 2997 2095 45 1.44 0.00 0.00 0.75 2997 2688 45 1.49 0.00 0.00 0.59 3000 1957 45 1.39 0.00 0.00 0.67 2996 2041 45 1.43 0.00 0.00 1.11 2999 3236 45 1.68 0.00 0.00 1.31 2997 3892 46 1.79 0.00 0.00

So it looks like Ubuntu is throttling cpu power consumption. Since it's not possible to stay under high load and within specified frequency range (when power consumption is cut), frequency drops to satisfy power constraint.

Now I reboot Ubuntu again, so cpu frequency goes to defaults.

I indeed was running thermald:

sudo service thermald status

● thermald.service - Thermal Daemon Service Loaded: loaded (/lib/systemd/system/thermald.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-04-09 09:11:43 EEST; 9h ago Main PID: 889 (thermald) Tasks: 2 (limit: 19017) Memory: 6.7M CGroup: /system.slice/thermald.service └─889 /usr/sbin/thermald --no-daemon --dbus-enable

кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]sensor id 16 : No temp sysfs for reading raw temp кві 09 09:11:43 igor-HP-ProBook-450-G5 systemd[1]: Started Thermal Daemon Service. кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]sensor id 16 : No temp sysfs for reading raw temp кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: I/O warning : failed to load external entity "/etc/thermald/thermal-conf.xml" кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]error: could not parse file /etc/thermald/thermal-conf.xml кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]sysfs open failed кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: I/O warning : failed to load external entity "/etc/thermald/thermal-conf.xml" кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]error: could not parse file /etc/thermald/thermal-conf.xml кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: I/O warning : failed to load external entity "/etc/thermald/thermal-conf.xml" кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]error: could not parse file /etc/thermald/thermal-conf.xml

So I stopped it (it did not solve cpu throttling issue):

sudo service thermald stop

And verified it's no longer active:

sudo service thermald status

● thermald.service - Thermal Daemon Service Loaded: loaded (/lib/systemd/system/thermald.service; enabled; vendor preset: enabled) Active: inactive (dead) since Fri 2021-04-09 18:37:15 EEST; 2s ago Process: 889 ExecStart=/usr/sbin/thermald --no-daemon --dbus-enable (code=exited, status=0/SUCCESS) Main PID: 889 (code=exited, status=0/SUCCESS)

кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]sysfs open failed кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: I/O warning : failed to load external entity "/etc/thermald/thermal-conf.xml" кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]error: could not parse file /etc/thermald/thermal-conf.xml кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: I/O warning : failed to load external entity "/etc/thermald/thermal-conf.xml" кві 09 09:11:43 igor-HP-ProBook-450-G5 thermald[889]: [WARN]error: could not parse file /etc/thermald/thermal-conf.xml кві 09 18:37:13 igor-HP-ProBook-450-G5 systemd[1]: Stopping Thermal Daemon Service... кві 09 18:37:13 igor-HP-ProBook-450-G5 thermald[889]: [WARN]Terminating ... кві 09 18:37:14 igor-HP-ProBook-450-G5 thermald[889]: [WARN]terminating on user request .. кві 09 18:37:15 igor-HP-ProBook-450-G5 systemd[1]: thermald.service: Succeeded. кві 09 18:37:15 igor-HP-ProBook-450-G5 systemd[1]: Stopped Thermal Daemon Service.

To collect the following data:

1. turbostat header
2. rdmsr (MSR_CORE_PERF_LIMIT_REASONS)
3. params in /sys/devices/system/cpu/intel_pstate directory
4. params in /sys/class/powercap/intel-rapl/intel-rapl:0 directory
5. scaling limits in /sys/devices/system/cpu/cpu*/cpufreq directory

I wrote the following script (collect_cpu_info.sh):

#!/bin/bash

exec_turbostat() { echo "turbostat --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 0.001 --num_iterations 1" turbostat --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 0.001 --num_iterations 1 }

exec_rdmsr() { echo "rdmsr 0x64f" rdmsr 0x64f }

watch_intel_pstate() { echo "grep . /sys/devices/system/cpu/intel_pstate/" grep . /sys/devices/system/cpu/intel_pstate/ }

watch_intel_rapl() { echo "grep . /sys/class/powercap/intel-rapl/intel-rapl:0/" grep . /sys/class/powercap/intel-rapl/intel-rapl:0/ }

watch_cpufreq() { echo "grep . /sys/devices/system/cpu/cpu/cpufreq/scaling_m" grep . /sys/devices/system/cpu/cpu/cpufreq/scaling_m }

while sleep 5 do echo "------------------------------------------------------------------------------------------------" exec_turbostat echo "" exec_rdmsr echo "" watch_intel_pstate echo "" watch_intel_rapl echo "" watch_cpufreq done

Let's run it (full log is not provided due to its size, I just will show load - no_load transition points):

<<< see log below in my next post, because post size is limited >>>

My laptop stays plugged in all the time, so on-battery related power limitations should not occur.

Do you know how to turn off cpu power constraint on Ubuntu? So cpu will consume max amount of power it needs to stay on high frequency. Any comments will be appreciated. Thank you.

igntec
  • 121
  • 3
  • there seem to be several similar questions in the last few days. See this one, including the comments. Edit your question with the same requested information, then flag me with a comment and I'll have a look. – Doug Smythies Apr 06 '21 at 14:13
  • @DougSmythies please take a look. – igntec Apr 07 '21 at 15:29
  • Yes, it appears to be power and/or temperature throttling, but then not recovering properly on the fly, which it should. I am just on my way out, and will look in more detail later. In your first example it undershot to 6 watts and did not recover. That is wrong. – Doug Smythies Apr 07 '21 at 15:44
  • @DougSmythies ok, thank you – igntec Apr 07 '21 at 15:50
  • please watch grep . /sys/devices/system/cpu/intel_pstate/* and grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_m* during these events also. I'll be back later. – Doug Smythies Apr 07 '21 at 15:50
  • Are you running any thermal daemon, such as thermald or tlp or other? In addition to above request, please obtain the turbostat spew of startup stuff while throttling is occurring. We need to see the bits of the PACKAGE_THERM_STATUS msr, which contrary to the register name include power limiting bits. Your issue does NOT appear to be power throttling. Are you willing to try some things, which might turn out to be a waste of time? Are there any temperature related messages in any logs file in /var/log, say kern.log and/or syslog and/or ...? – Doug Smythies Apr 07 '21 at 18:47
  • Please also provide the results for sudo rdmsr 0x64f (MSR_CORE_PERF_LIMIT_REASONS) during throttling, as I don't think turbostat does so. – Doug Smythies Apr 08 '21 at 00:05
  • @DougSmythies sorry for delay, I was busy with work. Sure, let's try to fix this. Anyway it already works on Windows. I will be back tomorrow and provide all requested info. – igntec Apr 08 '21 at 22:30
  • @DougSmythies I uploaded all requested info, please take a look – igntec Apr 09 '21 at 18:40
  • It is power limiting after all. the first power limit stuff is all working correctly, but the second is out by a factor of about 2. I'll fully decode the bits of MSR 0x64F in about an hour. Yes, check you have latest microcode and BIOS. Also try changing constraint_0_power_limit_uw a little, just as a test. – Doug Smythies Apr 09 '21 at 19:13
  • MSR 0x64F decodes exactly as expected. For as yet unknown reasons PKG Limit #1 is servoing to the incorrect package power level. Or the information given by turbostat is incorrect. We need to go back to basics and determine the numbers for ourselves, similar to method 1 here, but even checking the conversion factor ourselves. But check micrcode and BIOS versions first. – Doug Smythies Apr 09 '21 at 20:19
  • @DougSmythies I added cpu microcode version. BIOS should not be a problem, since throttling does not occur on Windows. However if you need it, I will provide it. – igntec Apr 09 '21 at 21:13
  • @DougSmythies On Windows microcode version looks strange, I can't compare it to what Ubuntu shows. There is utility called Intel processor identification utility however I can't download it right now, because Intel download center is temporary unavailable. When I will be able to download from Intel's site, I will let you know the results. – igntec Apr 09 '21 at 21:28
  • @DougSmythies I tried to change constraint_0_power_limit_uw from 18 millions to 28 millions. The file was written successfully, however it appears to have no effect - throttling still occurs. turbostat just shows values from those files. – igntec Apr 09 '21 at 21:31
  • I am researching the basics, but got sidetracked. need msr 0x606. A long shot is to try to disable HWP via grub commandline. intel_pstate=active intel_pstate=no_hwp – Doug Smythies Apr 09 '21 at 21:40
  • @DougSmythies I tried intel_pstate=active intel_pstate=no_hwp No luck. Also it is not a clock modulation, because sudo rdmsr -a 0x19a reads 0 on all cpus all the time. Maybe it is Idle Injection Framework (introduced in kernel 4.19) that gives this behavior? – igntec Apr 10 '21 at 23:52
  • I don't know if it helps but I noticed a change a couple years ago where Intel Skylake showed high CPU frequency and low temperatures with no load. With moderate loads CPU frequency decreases and temperature increases a little. A dual fan laptop means I don't really hear the fans under load though. At first this behavior concerned me but after many hours of research I just didn't care anymore. – WinEunuuchs2Unix Apr 11 '21 at 02:07

4 Answers4

2

Readers: please be patient, eventually the question and answer will hopefully be reduced to some concise content.

Of all the information provided, this is the most relevant:

cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.)
cpu0: MSR_PKG_POWER_INFO: 0x00000078 (15 W TDP, RAPL 0 - 0 W, 0.000000 sec.)
cpu0: MSR_PKG_POWER_LIMIT: 0x42016000dc8090 (UNlocked)
cpu0: PKG Limit #1: ENabled (18.000000 Watts, 28.000000 sec, clamp DISabled)
cpu0: PKG Limit #2: DISabled (44.000000 Watts, 0.002441* sec, clamp DISabled)
...
Busy%  Bzy_MHz   IRQ  PkgTmp  PkgWatt  GFXWatt   RAMWatt
99.77   1700     17    55      7.24     0.00      0.00

rdmsr 0x64f 3d030400

Indicating that the processor is currently throttling due to Processor package power limit #1, while at the same time the processor is nowhere near package power limit #1, at least if we believe what turbostat is telling us.

Manually decoding MSR 0x64F gives, among others, bit 10 is set. From the 64-ia-32-architectures-software-developer-manual-325462:

Package/Platform-Level Power Limiting PL1 Status (R0) When set, frequency is reduced below the operating system request due to package/platform-level power limiting PL1.

The other bits are all latched log bits and not relevant just now.

The RAPL_POWER_UNIT MSR (0x606) gave 0x000a0e03, which does decode correctly to 0.125 watts per bit.

The PKG_POWER_LIMIT MSR (0x610) gave 0x42016000dc8090. Let's decode the power limit 1 part manually. Bits 14:0 define the limit, or 90h or 144 decimal. Times .125 = 18 watts, as expected. Bit 15 is 1, so it is enabled.

So, something appears to be wrong and the processor appears to be not behaving the way it should.

Could it be somehow related to the unusually high processor package limit #2? Normally it would be set to about 1.25 times power limit #1. such a high value will likely give issues.

EDIT 1: returning to MSR 0x64F, the other latched bits indicate the temperature, PROCHOT (always bad), and "OTHER" conditions had previously occurred. Myself, I would turn down power limit 2 from 44 watts to about 22 or 23 watts. Also suggest taking a long slow look at this, coming from the low side of CPU frequency. For example, set a very low CPU maximum frequency:

echo 10 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct

and then apply the heavy load, all the while watching with turbostat and watching MSR 0x64f, simultaneously in two terminal windows. Gradually increase the CPU frequency:

echo 15 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
echo 20 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
echo 25 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
...

until it throttles.

EDIT 2: Clock Modulation is probably involved, if so likely from the BIOS and likely due to the extraordinarily high setting for power limit #2. The way to know is to read MSR 0x19A during the odd throttling event. Do sudo rdmsr -a 0x19a. Example:

doug@s19:~$ sudo /home/doug/temp-k-git/linux/tools/power/x86/turbostat/turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 6
Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt GFXWatt RAMWatt
99.76   1246    72344   60      60.43   0.00    0.89
99.76   1246    72144   61      60.40   0.00    0.89  <<< Why is the CPU frequency so low at 100% load?
99.76   1246    72147   61      60.43   0.00    0.89
99.76   1246    72145   60      60.05   0.00    0.89
99.04   2931    72183   80      98.51   0.00    0.89
98.41   4507    72132   80      133.71  0.00    0.89  <<< O.K. that is more like it. Clock Modulation removed.
98.43   4509    72135   80      133.79  0.00    0.89
99.25   4483    72147   77      127.63  0.00    0.89
99.57   4466    72127   75      124.90  0.00    0.89 <<< And power limit #1 kicks in.
99.56   4461    72158   75      124.91  0.00    0.89
99.56   4463    72211   76      124.91  0.00    0.89

Meanwhile:

root@s19:/home/doug# wrmsr -a 0x19a 0x14  <<< enable CM at 25%
... apply load and start turbstat ...
root@s19:/home/doug# wrmsr -a 0x19a 0     <<< disable CM

Anticipated question: Then why does it not correct itself until after the load is removed.
Answer: Due to the brutal conditions which caused Clock Modulation to be required in the first place, it doesn't get removed until things are really calm and cool. On some computers, it never gets reset.

Doug Smythies
  • 15,448
  • 5
  • 44
  • 61
0

Short log (full log is not provided due to its size, I just will show load - no_load transition points):

sudo ./collect_cpu_info.sh

turbostat --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 0.001 --num_iterations 1 turbostat version 20.03.20 - Len Brown <lenb@kernel.org> CPUID(0): GenuineIntel 0x16 CPUID levels; 0x80000008 xlevels; family:model:stepping 0x6:8e:a (6:142:10) CPUID(1): SSE3 MONITOR - EIST TM2 TSC MSR ACPI-TM HT TM CPUID(6): APERF, TURBO, DTS, PTM, HWP, HWPnotify, HWPwindow, HWPepp, No-HWPpkg, EPB cpu7: MSR_IA32_MISC_ENABLE: 0x00850089 (TCC EIST MWAIT PREFETCH TURBO) CPUID(7): SGX cpu7: MSR_IA32_FEATURE_CONTROL: 0x00000005 (Locked ) CPUID(0x15): eax_crystal: 2 ebx_tsc: 166 ecx_crystal_hz: 0 TSC: 1992 MHz (24000000 Hz * 166 / 2 / 1000000) CPUID(0x16): base_mhz: 2000 max_mhz: 4000 bus_mhz: 100 cpu7: MSR_MISC_PWR_MGMT: 0x00401cc0 (ENable-EIST_Coordination DISable-EPB DISable-OOB) RAPL: 17476 sec. Joule Counter Range, at 15 Watts cpu7: MSR_PLATFORM_INFO: 0x4043df1011400 4 * 100.0 = 400.0 MHz max efficiency frequency 20 * 100.0 = 2000.0 MHz base frequency cpu7: MSR_IA32_POWER_CTL: 0x0024005d (C1E auto-promotion: DISabled) cpu7: MSR_TURBO_RATIO_LIMIT: 0x25252828 37 * 100.0 = 3700.0 MHz max turbo 4 active cores 37 * 100.0 = 3700.0 MHz max turbo 3 active cores 40 * 100.0 = 4000.0 MHz max turbo 2 active cores 40 * 100.0 = 4000.0 MHz max turbo 1 active cores cpu7: MSR_CONFIG_TDP_NOMINAL: 0x00000012 (base_ratio=18) cpu7: MSR_CONFIG_TDP_LEVEL_1: 0x00080050 (PKG_MIN_PWR_LVL1=0 PKG_MAX_PWR_LVL1=0 LVL1_RATIO=8 PKG_TDP_LVL1=80) cpu7: MSR_CONFIG_TDP_LEVEL_2: 0x001400c8 (PKG_MIN_PWR_LVL2=0 PKG_MAX_PWR_LVL2=0 LVL2_RATIO=20 PKG_TDP_LVL2=200) cpu7: MSR_CONFIG_TDP_CONTROL: 0x00000000 ( lock=0) cpu7: MSR_TURBO_ACTIVATION_RATIO: 0x00000011 (MAX_NON_TURBO_RATIO=17 lock=0) cpu7: MSR_PKG_CST_CONFIG_CONTROL: 0x1e008008 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked, pkg-cstate-limit=8 (unlimited)) cpu7: cpufreq driver: intel_pstate cpu7: cpufreq governor: powersave cpufreq intel_pstate no_turbo: 0 cpu7: MSR_MISC_FEATURE_CONTROL: 0x00000000 (L2-Prefetch L2-Prefetch-pair L1-Prefetch L1-IP-Prefetch) cpu0: MSR_PM_ENABLE: 0x00000001 (HWP) cpu0: MSR_HWP_CAPABILITIES: 0x01081228 (high 40 guar 18 eff 8 low 1) cpu0: MSR_HWP_REQUEST: 0x80002804 (min 4 max 40 des 0 epp 0x80 window 0x0 pkg 0x0) cpu0: MSR_HWP_INTERRUPT: 0x00000000 (Dis_Guaranteed_Perf_Change, Dis_Excursion_Min) cpu0: MSR_HWP_STATUS: 0x00000000 (No-Guaranteed_Perf_Change, No-Excursion_Min) cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (balanced) cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.) cpu0: MSR_PKG_POWER_INFO: 0x00000078 (15 W TDP, RAPL 0 - 0 W, 0.000000 sec.) cpu0: MSR_PKG_POWER_LIMIT: 0x42016000dc8090 (UNlocked) cpu0: PKG Limit #1: ENabled (18.000000 Watts, 28.000000 sec, clamp DISabled) cpu0: PKG Limit #2: DISabled (44.000000 Watts, 0.002441* sec, clamp DISabled) cpu0: MSR_DRAM_POWER_LIMIT: 0x5400de00000000 (UNlocked) cpu0: DRAM Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_PP0_POLICY: 0 cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (UNlocked) cpu0: Cores Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_PP1_POLICY: 0 cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (UNlocked) cpu0: GFX Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x02640000 (100 C) cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x88370808 (45 C) cpu0: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x00000003 (100 C, 100 C) cpu7: MSR_PKGC3_IRTL: 0x0000884e (valid, 79872 ns) cpu7: MSR_PKGC6_IRTL: 0x00008876 (valid, 120832 ns) cpu7: MSR_PKGC7_IRTL: 0x00008894 (valid, 151552 ns) cpu7: MSR_PKGC8_IRTL: 0x000088fa (valid, 256000 ns) cpu7: MSR_PKGC9_IRTL: 0x0000894c (valid, 339968 ns) cpu7: MSR_PKGC10_IRTL: 0x00008bf2 (valid, 1034240 ns) Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt 7.41 2176 17 46 16.54 0.00 0.00

rdmsr 0x64f 3d010000

grep . /sys/devices/system/cpu/intel_pstate/* /sys/devices/system/cpu/intel_pstate/hwp_dynamic_boost:0 /sys/devices/system/cpu/intel_pstate/max_perf_pct:100 /sys/devices/system/cpu/intel_pstate/min_perf_pct:10 /sys/devices/system/cpu/intel_pstate/no_turbo:0 /sys/devices/system/cpu/intel_pstate/num_pstates:37 /sys/devices/system/cpu/intel_pstate/status:active /sys/devices/system/cpu/intel_pstate/turbo_pct:60

grep . /sys/class/powercap/intel-rapl/intel-rapl:0/* /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw:15000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_name:long_term /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw:18000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us:27983872 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_max_power_uw:0 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_name:short_term /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw:44000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us:2440 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/device: Is a directory /sys/class/powercap/intel-rapl/intel-rapl:0/enabled:1 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj:31842193630 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0: Is a directory grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1: Is a directory /sys/class/powercap/intel-rapl/intel-rapl:0/max_energy_range_uj:262143328850 /sys/class/powercap/intel-rapl/intel-rapl:0/name:package-0 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/power: Is a directory grep: /sys/class/powercap/intel-rapl/intel-rapl:0/subsystem: Is a directory

grep . /sys/devices/system/cpu/cpu/cpufreq/scaling_m /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq:400000


turbostat --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 0.001 --num_iterations 1 turbostat version 20.03.20 - Len Brown <lenb@kernel.org> CPUID(0): GenuineIntel 0x16 CPUID levels; 0x80000008 xlevels; family:model:stepping 0x6:8e:a (6:142:10) CPUID(1): SSE3 MONITOR - EIST TM2 TSC MSR ACPI-TM HT TM CPUID(6): APERF, TURBO, DTS, PTM, HWP, HWPnotify, HWPwindow, HWPepp, No-HWPpkg, EPB cpu6: MSR_IA32_MISC_ENABLE: 0x00850089 (TCC EIST MWAIT PREFETCH TURBO) CPUID(7): SGX cpu6: MSR_IA32_FEATURE_CONTROL: 0x00000005 (Locked ) CPUID(0x15): eax_crystal: 2 ebx_tsc: 166 ecx_crystal_hz: 0 TSC: 1992 MHz (24000000 Hz * 166 / 2 / 1000000) CPUID(0x16): base_mhz: 2000 max_mhz: 4000 bus_mhz: 100 cpu6: MSR_MISC_PWR_MGMT: 0x00401cc0 (ENable-EIST_Coordination DISable-EPB DISable-OOB) RAPL: 17476 sec. Joule Counter Range, at 15 Watts cpu6: MSR_PLATFORM_INFO: 0x4043df1011400 4 * 100.0 = 400.0 MHz max efficiency frequency 20 * 100.0 = 2000.0 MHz base frequency cpu6: MSR_IA32_POWER_CTL: 0x0024005d (C1E auto-promotion: DISabled) cpu6: MSR_TURBO_RATIO_LIMIT: 0x25252828 37 * 100.0 = 3700.0 MHz max turbo 4 active cores 37 * 100.0 = 3700.0 MHz max turbo 3 active cores 40 * 100.0 = 4000.0 MHz max turbo 2 active cores 40 * 100.0 = 4000.0 MHz max turbo 1 active cores cpu6: MSR_CONFIG_TDP_NOMINAL: 0x00000012 (base_ratio=18) cpu6: MSR_CONFIG_TDP_LEVEL_1: 0x00080050 (PKG_MIN_PWR_LVL1=0 PKG_MAX_PWR_LVL1=0 LVL1_RATIO=8 PKG_TDP_LVL1=80) cpu6: MSR_CONFIG_TDP_LEVEL_2: 0x001400c8 (PKG_MIN_PWR_LVL2=0 PKG_MAX_PWR_LVL2=0 LVL2_RATIO=20 PKG_TDP_LVL2=200) cpu6: MSR_CONFIG_TDP_CONTROL: 0x00000000 ( lock=0) cpu6: MSR_TURBO_ACTIVATION_RATIO: 0x00000011 (MAX_NON_TURBO_RATIO=17 lock=0) cpu6: MSR_PKG_CST_CONFIG_CONTROL: 0x1e008008 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked, pkg-cstate-limit=8 (unlimited)) cpu6: cpufreq driver: intel_pstate cpu6: cpufreq governor: powersave cpufreq intel_pstate no_turbo: 0 cpu6: MSR_MISC_FEATURE_CONTROL: 0x00000000 (L2-Prefetch L2-Prefetch-pair L1-Prefetch L1-IP-Prefetch) cpu0: MSR_PM_ENABLE: 0x00000001 (HWP) cpu0: MSR_HWP_CAPABILITIES: 0x01091228 (high 40 guar 18 eff 9 low 1) cpu0: MSR_HWP_REQUEST: 0x80002804 (min 4 max 40 des 0 epp 0x80 window 0x0 pkg 0x0) cpu0: MSR_HWP_INTERRUPT: 0x00000000 (Dis_Guaranteed_Perf_Change, Dis_Excursion_Min) cpu0: MSR_HWP_STATUS: 0x00000000 (No-Guaranteed_Perf_Change, No-Excursion_Min) cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (balanced) cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.) cpu0: MSR_PKG_POWER_INFO: 0x00000078 (15 W TDP, RAPL 0 - 0 W, 0.000000 sec.) cpu0: MSR_PKG_POWER_LIMIT: 0x42016000dc8090 (UNlocked) cpu0: PKG Limit #1: ENabled (18.000000 Watts, 28.000000 sec, clamp DISabled) cpu0: PKG Limit #2: DISabled (44.000000 Watts, 0.002441* sec, clamp DISabled) cpu0: MSR_DRAM_POWER_LIMIT: 0x5400de00000000 (UNlocked) cpu0: DRAM Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_PP0_POLICY: 0 cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (UNlocked) cpu0: Cores Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_PP1_POLICY: 0 cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (UNlocked) cpu0: GFX Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x02640000 (100 C) cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x88210808 (67 C) cpu0: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x00000003 (100 C, 100 C) cpu6: MSR_PKGC3_IRTL: 0x0000884e (valid, 79872 ns) cpu6: MSR_PKGC6_IRTL: 0x00008876 (valid, 120832 ns) cpu6: MSR_PKGC7_IRTL: 0x00008894 (valid, 151552 ns) cpu6: MSR_PKGC8_IRTL: 0x000088fa (valid, 256000 ns) cpu6: MSR_PKGC9_IRTL: 0x0000894c (valid, 339968 ns) cpu6: MSR_PKGC10_IRTL: 0x00008bf2 (valid, 1034240 ns) Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt 97.55 3700 9 68 43.25 0.00 0.00

rdmsr 0x64f 3d011000

grep . /sys/devices/system/cpu/intel_pstate/* /sys/devices/system/cpu/intel_pstate/hwp_dynamic_boost:0 /sys/devices/system/cpu/intel_pstate/max_perf_pct:100 /sys/devices/system/cpu/intel_pstate/min_perf_pct:10 /sys/devices/system/cpu/intel_pstate/no_turbo:0 /sys/devices/system/cpu/intel_pstate/num_pstates:37 /sys/devices/system/cpu/intel_pstate/status:active /sys/devices/system/cpu/intel_pstate/turbo_pct:60

grep . /sys/class/powercap/intel-rapl/intel-rapl:0/* /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw:15000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_name:long_term /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw:18000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us:27983872 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_max_power_uw:0 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_name:short_term /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw:44000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us:2440 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/device: Is a directory /sys/class/powercap/intel-rapl/intel-rapl:0/enabled:1 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj:31914117396 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0: Is a directory grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1: Is a directory /sys/class/powercap/intel-rapl/intel-rapl:0/max_energy_range_uj:262143328850 /sys/class/powercap/intel-rapl/intel-rapl:0/name:package-0 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/power: Is a directory grep: /sys/class/powercap/intel-rapl/intel-rapl:0/subsystem: Is a directory

grep . /sys/devices/system/cpu/cpu/cpufreq/scaling_m /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq:400000


turbostat --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 0.001 --num_iterations 1 turbostat version 20.03.20 - Len Brown <lenb@kernel.org> CPUID(0): GenuineIntel 0x16 CPUID levels; 0x80000008 xlevels; family:model:stepping 0x6:8e:a (6:142:10) CPUID(1): SSE3 MONITOR - EIST TM2 TSC MSR ACPI-TM HT TM CPUID(6): APERF, TURBO, DTS, PTM, HWP, HWPnotify, HWPwindow, HWPepp, No-HWPpkg, EPB cpu6: MSR_IA32_MISC_ENABLE: 0x00850089 (TCC EIST MWAIT PREFETCH TURBO) CPUID(7): SGX cpu6: MSR_IA32_FEATURE_CONTROL: 0x00000005 (Locked ) CPUID(0x15): eax_crystal: 2 ebx_tsc: 166 ecx_crystal_hz: 0 TSC: 1992 MHz (24000000 Hz * 166 / 2 / 1000000) CPUID(0x16): base_mhz: 2000 max_mhz: 4000 bus_mhz: 100 cpu6: MSR_MISC_PWR_MGMT: 0x00401cc0 (ENable-EIST_Coordination DISable-EPB DISable-OOB) RAPL: 17476 sec. Joule Counter Range, at 15 Watts cpu6: MSR_PLATFORM_INFO: 0x4043df1011400 4 * 100.0 = 400.0 MHz max efficiency frequency 20 * 100.0 = 2000.0 MHz base frequency cpu6: MSR_IA32_POWER_CTL: 0x0024005d (C1E auto-promotion: DISabled) cpu6: MSR_TURBO_RATIO_LIMIT: 0x25252828 37 * 100.0 = 3700.0 MHz max turbo 4 active cores 37 * 100.0 = 3700.0 MHz max turbo 3 active cores 40 * 100.0 = 4000.0 MHz max turbo 2 active cores 40 * 100.0 = 4000.0 MHz max turbo 1 active cores cpu6: MSR_CONFIG_TDP_NOMINAL: 0x00000012 (base_ratio=18) cpu6: MSR_CONFIG_TDP_LEVEL_1: 0x00080050 (PKG_MIN_PWR_LVL1=0 PKG_MAX_PWR_LVL1=0 LVL1_RATIO=8 PKG_TDP_LVL1=80) cpu6: MSR_CONFIG_TDP_LEVEL_2: 0x001400c8 (PKG_MIN_PWR_LVL2=0 PKG_MAX_PWR_LVL2=0 LVL2_RATIO=20 PKG_TDP_LVL2=200) cpu6: MSR_CONFIG_TDP_CONTROL: 0x00000000 ( lock=0) cpu6: MSR_TURBO_ACTIVATION_RATIO: 0x00000011 (MAX_NON_TURBO_RATIO=17 lock=0) cpu6: MSR_PKG_CST_CONFIG_CONTROL: 0x1e008008 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked, pkg-cstate-limit=8 (unlimited)) cpu6: cpufreq driver: intel_pstate cpu6: cpufreq governor: powersave cpufreq intel_pstate no_turbo: 0 cpu6: MSR_MISC_FEATURE_CONTROL: 0x00000000 (L2-Prefetch L2-Prefetch-pair L1-Prefetch L1-IP-Prefetch) cpu0: MSR_PM_ENABLE: 0x00000001 (HWP) cpu0: MSR_HWP_CAPABILITIES: 0x01091228 (high 40 guar 18 eff 9 low 1) cpu0: MSR_HWP_REQUEST: 0x80002804 (min 4 max 40 des 0 epp 0x80 window 0x0 pkg 0x0) cpu0: MSR_HWP_INTERRUPT: 0x00000000 (Dis_Guaranteed_Perf_Change, Dis_Excursion_Min) cpu0: MSR_HWP_STATUS: 0x00000000 (No-Guaranteed_Perf_Change, No-Excursion_Min) cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (balanced) cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.) cpu0: MSR_PKG_POWER_INFO: 0x00000078 (15 W TDP, RAPL 0 - 0 W, 0.000000 sec.) cpu0: MSR_PKG_POWER_LIMIT: 0x42016000dc8090 (UNlocked) cpu0: PKG Limit #1: ENabled (18.000000 Watts, 28.000000 sec, clamp DISabled) cpu0: PKG Limit #2: DISabled (44.000000 Watts, 0.002441* sec, clamp DISabled) cpu0: MSR_DRAM_POWER_LIMIT: 0x5400de00000000 (UNlocked) cpu0: DRAM Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_PP0_POLICY: 0 cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (UNlocked) cpu0: Cores Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_PP1_POLICY: 0 cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (UNlocked) cpu0: GFX Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x02640000 (100 C) cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x882d0e88 (55 C) cpu0: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x00000003 (100 C, 100 C) cpu6: MSR_PKGC3_IRTL: 0x0000884e (valid, 79872 ns) cpu6: MSR_PKGC6_IRTL: 0x00008876 (valid, 120832 ns) cpu6: MSR_PKGC7_IRTL: 0x00008894 (valid, 151552 ns) cpu6: MSR_PKGC8_IRTL: 0x000088fa (valid, 256000 ns) cpu6: MSR_PKGC9_IRTL: 0x0000894c (valid, 339968 ns) cpu6: MSR_PKGC10_IRTL: 0x00008bf2 (valid, 1034240 ns) Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt 99.77 1700 17 55 7.24 0.00 0.00

rdmsr 0x64f 3d030400

grep . /sys/devices/system/cpu/intel_pstate/* /sys/devices/system/cpu/intel_pstate/hwp_dynamic_boost:0 /sys/devices/system/cpu/intel_pstate/max_perf_pct:100 /sys/devices/system/cpu/intel_pstate/min_perf_pct:10 /sys/devices/system/cpu/intel_pstate/no_turbo:0 /sys/devices/system/cpu/intel_pstate/num_pstates:37 /sys/devices/system/cpu/intel_pstate/status:active /sys/devices/system/cpu/intel_pstate/turbo_pct:60

grep . /sys/class/powercap/intel-rapl/intel-rapl:0/* /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw:15000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_name:long_term /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw:18000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us:27983872 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_max_power_uw:0 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_name:short_term /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw:44000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us:2440 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/device: Is a directory /sys/class/powercap/intel-rapl/intel-rapl:0/enabled:1 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj:32027108134 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0: Is a directory grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1: Is a directory /sys/class/powercap/intel-rapl/intel-rapl:0/max_energy_range_uj:262143328850 /sys/class/powercap/intel-rapl/intel-rapl:0/name:package-0 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/power: Is a directory grep: /sys/class/powercap/intel-rapl/intel-rapl:0/subsystem: Is a directory

grep . /sys/devices/system/cpu/cpu/cpufreq/scaling_m /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq:400000


turbostat --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 0.001 --num_iterations 1 turbostat version 20.03.20 - Len Brown <lenb@kernel.org> CPUID(0): GenuineIntel 0x16 CPUID levels; 0x80000008 xlevels; family:model:stepping 0x6:8e:a (6:142:10) CPUID(1): SSE3 MONITOR - EIST TM2 TSC MSR ACPI-TM HT TM CPUID(6): APERF, TURBO, DTS, PTM, HWP, HWPnotify, HWPwindow, HWPepp, No-HWPpkg, EPB cpu7: MSR_IA32_MISC_ENABLE: 0x00850089 (TCC EIST MWAIT PREFETCH TURBO) CPUID(7): SGX cpu7: MSR_IA32_FEATURE_CONTROL: 0x00000005 (Locked ) CPUID(0x15): eax_crystal: 2 ebx_tsc: 166 ecx_crystal_hz: 0 TSC: 1992 MHz (24000000 Hz * 166 / 2 / 1000000) CPUID(0x16): base_mhz: 2000 max_mhz: 4000 bus_mhz: 100 cpu7: MSR_MISC_PWR_MGMT: 0x00401cc0 (ENable-EIST_Coordination DISable-EPB DISable-OOB) RAPL: 17476 sec. Joule Counter Range, at 15 Watts cpu7: MSR_PLATFORM_INFO: 0x4043df1011400 4 * 100.0 = 400.0 MHz max efficiency frequency 20 * 100.0 = 2000.0 MHz base frequency cpu7: MSR_IA32_POWER_CTL: 0x0024005d (C1E auto-promotion: DISabled) cpu7: MSR_TURBO_RATIO_LIMIT: 0x25252828 37 * 100.0 = 3700.0 MHz max turbo 4 active cores 37 * 100.0 = 3700.0 MHz max turbo 3 active cores 40 * 100.0 = 4000.0 MHz max turbo 2 active cores 40 * 100.0 = 4000.0 MHz max turbo 1 active cores cpu7: MSR_CONFIG_TDP_NOMINAL: 0x00000012 (base_ratio=18) cpu7: MSR_CONFIG_TDP_LEVEL_1: 0x00080050 (PKG_MIN_PWR_LVL1=0 PKG_MAX_PWR_LVL1=0 LVL1_RATIO=8 PKG_TDP_LVL1=80) cpu7: MSR_CONFIG_TDP_LEVEL_2: 0x001400c8 (PKG_MIN_PWR_LVL2=0 PKG_MAX_PWR_LVL2=0 LVL2_RATIO=20 PKG_TDP_LVL2=200) cpu7: MSR_CONFIG_TDP_CONTROL: 0x00000000 ( lock=0) cpu7: MSR_TURBO_ACTIVATION_RATIO: 0x00000011 (MAX_NON_TURBO_RATIO=17 lock=0) cpu7: MSR_PKG_CST_CONFIG_CONTROL: 0x1e008008 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked, pkg-cstate-limit=8 (unlimited)) cpu7: cpufreq driver: intel_pstate cpu7: cpufreq governor: powersave cpufreq intel_pstate no_turbo: 0 cpu7: MSR_MISC_FEATURE_CONTROL: 0x00000000 (L2-Prefetch L2-Prefetch-pair L1-Prefetch L1-IP-Prefetch) cpu0: MSR_PM_ENABLE: 0x00000001 (HWP) cpu0: MSR_HWP_CAPABILITIES: 0x01081228 (high 40 guar 18 eff 8 low 1) cpu0: MSR_HWP_REQUEST: 0x80002804 (min 4 max 40 des 0 epp 0x80 window 0x0 pkg 0x0) cpu0: MSR_HWP_INTERRUPT: 0x00000000 (Dis_Guaranteed_Perf_Change, Dis_Excursion_Min) cpu0: MSR_HWP_STATUS: 0x00000000 (No-Guaranteed_Perf_Change, No-Excursion_Min) cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (balanced) cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.) cpu0: MSR_PKG_POWER_INFO: 0x00000078 (15 W TDP, RAPL 0 - 0 W, 0.000000 sec.) cpu0: MSR_PKG_POWER_LIMIT: 0x42016000dc8090 (UNlocked) cpu0: PKG Limit #1: ENabled (18.000000 Watts, 28.000000 sec, clamp DISabled) cpu0: PKG Limit #2: DISabled (44.000000 Watts, 0.002441* sec, clamp DISabled) cpu0: MSR_DRAM_POWER_LIMIT: 0x5400de00000000 (UNlocked) cpu0: DRAM Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_PP0_POLICY: 0 cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (UNlocked) cpu0: Cores Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_PP1_POLICY: 0 cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (UNlocked) cpu0: GFX Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled) cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x02640000 (100 C) cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x88340808 (48 C) cpu0: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x00000003 (100 C, 100 C) cpu7: MSR_PKGC3_IRTL: 0x0000884e (valid, 79872 ns) cpu7: MSR_PKGC6_IRTL: 0x00008876 (valid, 120832 ns) cpu7: MSR_PKGC7_IRTL: 0x00008894 (valid, 151552 ns) cpu7: MSR_PKGC8_IRTL: 0x000088fa (valid, 256000 ns) cpu7: MSR_PKGC9_IRTL: 0x0000894c (valid, 339968 ns) cpu7: MSR_PKGC10_IRTL: 0x00008bf2 (valid, 1034240 ns) Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt 17.53 2200 1 48 1.36 0.00 0.00

rdmsr 0x64f 3d030000

grep . /sys/devices/system/cpu/intel_pstate/* /sys/devices/system/cpu/intel_pstate/hwp_dynamic_boost:0 /sys/devices/system/cpu/intel_pstate/max_perf_pct:100 /sys/devices/system/cpu/intel_pstate/min_perf_pct:10 /sys/devices/system/cpu/intel_pstate/no_turbo:0 /sys/devices/system/cpu/intel_pstate/num_pstates:37 /sys/devices/system/cpu/intel_pstate/status:active /sys/devices/system/cpu/intel_pstate/turbo_pct:60

grep . /sys/class/powercap/intel-rapl/intel-rapl:0/* /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw:15000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_name:long_term /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw:18000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us:27983872 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_max_power_uw:0 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_name:short_term /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw:44000000 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us:2440 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/device: Is a directory /sys/class/powercap/intel-rapl/intel-rapl:0/enabled:1 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj:32210401183 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0: Is a directory grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1: Is a directory /sys/class/powercap/intel-rapl/intel-rapl:0/max_energy_range_uj:262143328850 /sys/class/powercap/intel-rapl/intel-rapl:0/name:package-0 grep: /sys/class/powercap/intel-rapl/intel-rapl:0/power: Is a directory grep: /sys/class/powercap/intel-rapl/intel-rapl:0/subsystem: Is a directory

grep . /sys/devices/system/cpu/cpu/cpufreq/scaling_m /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu5/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq:400000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq:4000000 /sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq:400000

First lines of dmesg ouput:

[    0.000000] microcode: microcode updated early to revision 0xe0, date = 2020-06-17
[    0.000000] Linux version 5.8.0-48-generic (buildd@lgw01-amd64-008) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #54~20.04.1-Ubuntu SMP Sat Mar 20 13:40:25 UTC 2021 (Ubuntu 5.8.0-48.54~20.04.1-generic 5.8.18)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.8.0-48-generic root=UUID=19c1475f-df39-48e7-947c-ace73270909e ro quiet splash vt.handoff=7

Also I found a lot of ACPI errors in dmesg output, here is the first one:

[    3.055366] ACPI BIOS Error (bug): AE_AML_PACKAGE_LIMIT, Index (0x000000005) is beyond end of object (length 0x5) (20200528/exoparg2-393)
igntec
  • 121
  • 3
0

Also I found bluetooth erros in dmesg output:

[    7.747559] Bluetooth: hci0: command 0xfc05 tx timeout
[    7.747568] Bluetooth: hci0: Reading Intel version information failed (-110)
[    7.747569] Bluetooth: hci0: Intel Read version failed (-110)

I see that cpu thermal monitoring is enabled:

[    0.165359] mce: CPU0: Thermal monitoring enabled (TM1)

and this strange line:

[    6.139480] thermal thermal_zone10: failed to read out thermal zone (-61)

CPU microcode version on Ubuntu:

grep 'model name\|microcode' /proc/cpuinfo

model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz microcode : 0xe0 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz microcode : 0xe0 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz microcode : 0xe0 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz microcode : 0xe0 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz microcode : 0xe0 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz microcode : 0xe0 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz microcode : 0xe0 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz microcode : 0xe0

CPU microcode version on Windows:

reg query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 | find "Update Revision"

Update Revision REG_BINARY 00000000B4000000 Previous Update Revision REG_BINARY 0000000084000000

Update Revision is current microcode version. Previous Update Revision is microcode version hardcoded in BIOS.

Intel Processor Identification Utility on Windows shows that CPU Revision is indeed B4. So actually Windows was running older version of microcode.

However, power throttling still occurs, after downgrading microcode on Ubuntu from E0 to B4. So buggy microcode is not a problem here.

I removed intel_powerclamp module (just in case):

sudo rmmod intel_powerclamp

In top output I see idle_inject processes for each cpu core:

idle_inject/0
idle_inject/1
idle_inject/2
idle_inject/3

It is Idle Injection Framework (CONFIG_IDLE_INJECT) that was introduced in linux kernel 4.19

It is meant to power clamp the system, so probably it gives such power drop?

igntec
  • 121
  • 3
0

After Ubuntu 20.04 update everything seems to work fine.

sudo stress --cpu 8

System Monitor shows sudden jump to 100% cpu load, and it holds at 100% until I terminate stress app.

uname -r
5.11.0-25-generic

lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal

igntec
  • 121
  • 3