CPU frequency stuck at minimum value..again Ubuntu 20.04.3

Bug #1945221 reported by Rick T
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
thermald (Ubuntu)
In Progress
Undecided
koba

Bug Description

I would really like to find out why my cpu's keep reverting back to a cpu powersave mode after I get a kernel update then reboot.

I cleaned my laptops vent but this seems to happen whenever a new kernel is updated and installed.

https://askubuntu.com/questions/1366090/ubuntu-20-04-3-lts-significant-throttling-of-intel-i7-processor?noredirect=1#comment2345549_1366090

Description: Ubuntu 20.04.3 LTS
Release: 20.04

Computer
Summary
Computer
Processor Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
Memory 16315MB (4407MB used)
Machine Type Laptop
Operating System Ubuntu 20.04.3 LTS
User Name rt (rt)
Date/Time Mon 30 Aug 2021 02:33:09 PM EDT
Display
Resolution 1920x1080 pixels
OpenGL Renderer Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2)
X11 Vendor The X.Org Foundation
Audio Devices
Audio Adapter HDA-Intel - HDA Intel HDMI
Audio Adapter HDA-Intel - HDA Intel PCH
Audio Adapter USB-Audio - USB Audio Device
Input Devices
Power Button
Sleep Button
Lid Switch
Power Button
AT Translated Set 2 keyboard
USB Audio Device
ETPS/2 Elantech Touchpad
Logitech Anywhere MX
Video Bus
HDA Intel PCH Mic
HDA Intel PCH Front Headphone
HDA Intel HDMI HDMI/DP,pcm:3
HDA Intel HDMI HDMI/DP,pcm:7
HDA Intel HDMI HDMI/DP,pcm:8
HDA Intel HDMI HDMI/DP,pcm:9
HDA Intel HDMI HDMI/DP,pcm:10
Printers (CUPS)
OfficeJet_Pro_6978 Default
SCSI Disks
TSSTcorp CDDVDW SN-208DB
ATA INTEL SSDMCEAC12
ATA ST1000LM014-1EJ1
Operating System
Version
Kernel Linux 5.4.0-81-generic (x86_64)
Version #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021
C Library GNU C Library / (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31
Distribution Ubuntu 20.04.3 LTS
Current Session
Computer Name sys76
User Name rt (rt)
Language en_US.UTF-8 ()
Home Directory /home/rt
Misc
Uptime 20 minutes
Load Average 0.83, 1.37, 1.62
Available entropy in /dev/random 3649 bits (healthy)

rt@sys76:~$ dpkg -l *freq* | grep ii
    rt@sys76:~$

    rt@sys76:~$ sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 6

    Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt
    2.95 800 3347 47 2.16 0.01
    2.76 800 3069 49 2.15 0.01
    5.85 800 5122 48 2.73 0.01
    11.87 800 8008 47 3.41 0.04
    8.23 800 5778 47 2.86 0.05

    rt@sys76:~$ lscpu
    Architecture: x86_64
    CPU op-mode(s): 32-bit, 64-bit
    Byte Order: Little Endian
    Address sizes: 39 bits physical, 48 bits virtual
    CPU(s): 8
    On-line CPU(s) list: 0-7
    Thread(s) per core: 2
    Core(s) per socket: 4
    Socket(s): 1
    NUMA node(s): 1
    Vendor ID: GenuineIntel
    CPU family: 6
    Model: 60
    Model name: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
    Stepping: 3
    CPU MHz: 798.103
    CPU max MHz: 3400.0000
    CPU min MHz: 800.0000
    BogoMIPS: 4788.65
    Virtualization: VT-x
    L1d cache: 128 KiB
    L1i cache: 128 KiB
    L2 cache: 1 MiB
    L3 cache: 6 MiB
    NUMA node0 CPU(s): 0-7
    Vulnerability Itlb multihit: KVM: Mitigation: Split huge pages
    Vulnerability L1tf: Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulne
                                     rable
    Vulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerable
    Vulnerability Meltdown: Mitigation; PTI
    Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
    Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitizatio
                                     n
    Vulnerability Spectre v2: Mitigation; Full generic retpoline, IBPB conditional, IBRS_FW, STIB
                                     P conditional, RSB filling
    Vulnerability Srbds: Mitigation; Microcode
    Vulnerability Tsx async abort: Not affected
    Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat p
                                     se36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdp
                                     e1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
                                     pology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds
                                     _cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 m
                                     ovbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ab
                                     m cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shado
                                     w vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 s
                                     mep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flu
                                     sh_l1d
    rt@sys76:~$

        rt@sys76:~$ grep . /sys/devices/system/cpu/intel_pstate/*
        /sys/devices/system/cpu/intel_pstate/max_perf_pct:100
        /sys/devices/system/cpu/intel_pstate/min_perf_pct:23
        /sys/devices/system/cpu/intel_pstate/no_turbo:1
        /sys/devices/system/cpu/intel_pstate/num_pstates:27
        /sys/devices/system/cpu/intel_pstate/status:active
        /sys/devices/system/cpu/intel_pstate/turbo_pct:38

        rt@sys76:~$ sensors
        BAT0-acpi-0
        Adapter: ACPI interface
        in0: 0.00 V
        curr1: 0.00 A

        coretemp-isa-0000
        Adapter: ISA adapter
        Package id 0: +48.0°C (high = +84.0°C, crit = +100.0°C)
        Core 0: +47.0°C (high = +84.0°C, crit = +100.0°C)
        Core 1: +45.0°C (high = +84.0°C, crit = +100.0°C)
        Core 2: +45.0°C (high = +84.0°C, crit = +100.0°C)
        Core 3: +46.0°C (high = +84.0°C, crit = +100.0°C)

        acpitz-acpi-0
        Adapter: ACPI interface
        temp1: +14.0°C (crit = +120.0°C)

rt@sys76:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping : 3
microcode : 0x28
cpu MHz : 798.079
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips : 4788.65
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping : 3
microcode : 0x28
cpu MHz : 798.108
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 4
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips : 4788.65
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping : 3
microcode : 0x28
cpu MHz : 798.103
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 2
cpu cores : 4
apicid : 4
initial apicid : 4
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips : 4788.65
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping : 3
microcode : 0x28
cpu MHz : 798.114
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 6
initial apicid : 6
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips : 4788.65
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 4
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping : 3
microcode : 0x28
cpu MHz : 798.405
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips : 4788.65
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 5
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping : 3
microcode : 0x28
cpu MHz : 798.234
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 1
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips : 4788.65
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 6
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping : 3
microcode : 0x28
cpu MHz : 798.202
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 2
cpu cores : 4
apicid : 5
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips : 4788.65
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping : 3
microcode : 0x28
cpu MHz : 798.235
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips : 4788.65
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

rt@sys76:~$

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1945221/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
Revision history for this message
Rick T (ratulloch) wrote :

I'm not sure if this is the right package

affects: ubuntu → thermald (Ubuntu)
Revision history for this message
koba (kobako) wrote (last edit ):

@Rick, could you please turn off the thermald then observe again?
#sudo systemctl stop thermald.service
//check if thermald is inactive
#sudo systemctl status thermald.service
#run turbostat

koba (kobako)
Changed in thermald (Ubuntu):
assignee: nobody → koba (kobako)
status: New → In Progress
Revision history for this message
Rick T (ratulloch) wrote :
Download full text (13.3 KiB)

rt@sys76:~$ sudo systemctl status thermald.service
● thermald.service - Thermal Daemon Service
     Loaded: loaded (/lib/systemd/system/thermald.service; enabled; v>
     Active: inactive (dead) since Wed 2021-12-01 09:39:26 EST; 9s ago
    Process: 1319 ExecStart=/usr/sbin/thermald --systemd --dbus-enabl>
   Main PID: 1319 (code=exited, status=0/SUCCESS)

Nov 30 09:41:40 sys76 thermald[1319]: 13 CPUID levels; family:model:s>
Nov 30 09:41:40 sys76 thermald[1319]: Polling mode is enabled: 4
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for>
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for>
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for>
Dec 01 09:39:24 sys76 thermald[1319]: Terminating ...
Dec 01 09:39:24 sys76 systemd[1]: Stopping Thermal Daemon Service...
Dec 01 09:39:25 sys76 thermald[1319]: terminating on user request ..
Dec 01 09:39:26 sys76 systemd[1]: thermald.service: Succeeded.
Dec 01 09:39:26 sys76 systemd[1]: Stopped Thermal Daemon Service.
lines 1-16/16 (END)...skipping...
● thermald.service - Thermal Daemon Service
     Loaded: loaded (/lib/systemd/system/thermald.service; enabled; ven>
     Active: inactive (dead) since Wed 2021-12-01 09:39:26 EST; 9s ago
    Process: 1319 ExecStart=/usr/sbin/thermald --systemd --dbus-enable >
   Main PID: 1319 (code=exited, status=0/SUCCESS)

Nov 30 09:41:40 sys76 thermald[1319]: 13 CPUID levels; family:model:ste>
Nov 30 09:41:40 sys76 thermald[1319]: Polling mode is enabled: 4
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for r>
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for r>
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for r>
Dec 01 09:39:24 sys76 thermald[1319]: Terminating ...
Dec 01 09:39:24 sys76 systemd[1]: Stopping Thermal Daemon Service...
Dec 01 09:39:25 sys76 thermald[1319]: terminating on user request ..
Dec 01 09:39:26 sys76 systemd[1]: thermald.service: Succeeded.
Dec 01 09:39:26 sys76 systemd[1]: Stopped Thermal Daemon Service.
~
~
~
~
~
~
~
~
~
lines 1-16/16 (END)...skipping...
● thermald.service - Thermal Daemon Service
     Loaded: loaded (/lib/systemd/system/thermald.service; enabled; vendor pre>
     Active: inactive (dead) since Wed 2021-12-01 09:39:26 EST; 9s ago
    Process: 1319 ExecStart=/usr/sbin/thermald --systemd --dbus-enable --adapt>
   Main PID: 1319 (code=exited, status=0/SUCCESS)

Nov 30 09:41:40 sys76 thermald[1319]: 13 CPUID levels; family:model:stepping 0>
Nov 30 09:41:40 sys76 thermald[1319]: Polling mode is enabled: 4
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for reading >
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for reading >
Nov 30 09:41:40 sys76 thermald[1319]: sensor id 5 : No temp sysfs for reading >
Dec 01 09:39:24 sys76 thermald[1319]: Terminating ...
Dec 01 09:39:24 sys76 systemd[1]: Stopping Thermal Daemon Service...
Dec 01 09:39:25 sys76 thermald[1319]: terminating on user request ..
Dec 01 09:39:26 sys76 systemd[1]: thermald.service: Succeeded.
Dec 01 09:39:26 sys76 systemd[1]: Stopped Thermal Daemon Service.
~
~
~
~
~
~
~
~
~
~
lines 1-16/16 (END)...skipping...
● thermal...

Revision history for this message
koba (kobako) wrote :

@Rick,
please dump frequency info before doing any changed
#sudo cpupower -c all frequency-info

if governor is powersave, please change to performance then run some loadings,
and observe the cpu current frequency
#cpupower frequency-set --governor performance

Revision history for this message
Rick T (ratulloch) wrote :
Download full text (11.0 KiB)

ok...

rt@sys76:~$ sudo cpupower -c all frequency-info

[sudo] password for rt:
analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.70 GHz and 3.40 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 798 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 1:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 20.0 us
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.70 GHz and 3.40 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 798 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 2:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 20.0 us
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.70 GHz and 3.40 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 798 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 3:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 20.0 us
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.70 GHz and 3.40 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 798 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
analyzing CPU 4:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 4
  CPUs which need to have their frequency coordinated by software: 4
  maximum transition latency: 20.0 us
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.70 GHz and 3.40 GHz.
       ...

Revision history for this message
koba (kobako) wrote :

@Rick, could you list the using kernel version?
Do you remember which kernel version you didn't observe the issue?

Revision history for this message
koba (kobako) wrote :

found one interesting thing in the log
CONFIG_TDP_CONTROL is locked, could you check the bios first?
e.g. c-state control

cpu4: MSR_CONFIG_TDP_NOMINAL: 0x00000018 (base_ratio=24)
cpu4: MSR_CONFIG_TDP_LEVEL_1: 0x00000000 ()
cpu4: MSR_CONFIG_TDP_LEVEL_2: 0x00000000 ()
cpu4: MSR_CONFIG_TDP_CONTROL: 0x80000000 ( lock=1)
cpu4: MSR_TURBO_ACTIVATION_RATIO: 0x00000000 (MAX_NON_TURBO_RATIO=0 lock=0)

Revision history for this message
Rick T (ratulloch) wrote :
Download full text (25.4 KiB)

Here's a list I can't remember the last time it worked, if you do a google search on "ubuntu cpu lowest freq" seems to be a very common problem but none of the fixes work for me.

I can't change the speed of my CPU's in my bios (a system76 linux machine). What do you want me to check in the bios?

Here's the kernel versions

rt@sys76:~$ uname --all
Linux sys76 5.15.5-76051505-generic #202111250933~1638201579~20.04~09f1aa7~dev-Ubuntu SMP Tue Nov 30 x86_64 x86_64 x86_64 GNU/Linux
rt@sys76:~$

rt@sys76:~$ dpkg --list | grep linux-image

rc linux-image-4.10.0-27-generic 4.10.0-27.30~16.04.2 amd64 Linux kernel image for version 4.10.0 on 64 bit x86 SMP
rc linux-image-4.10.0-28-generic 4.10.0-28.32~16.04.2 amd64 Linux kernel image for version 4.10.0 on 64 bit x86 SMP
rc linux-image-4.10.0-30-generic 4.10.0-30.34~16.04.1 amd64 Linux kernel image for version 4.10.0 on 64 bit x86 SMP
rc linux-image-4.10.0-32-generic 4.10.0-32.36~16.04.1 amd64 Linux kernel image for version 4.10.0 on 64 bit x86 SMP
rc linux-image-4.10.0-33-generic 4.10.0-33.37~16.04.1 amd64 Linux kernel image for version 4.10.0 on 64 bit x86 SMP
rc linux-image-4.10.0-42-generic 4.10.0-42.46~16.04.1 amd64 Linux kernel image for version 4.10.0 on 64 bit x86 SMP
rc linux-image-4.13.0-26-generic 4.13.0-26.29~16.04.2 amd64 Linux kernel image for version 4.13.0 on 64 bit x86 SMP
rc linux-image-4.15.0-101-generic 4.15.0-101.102 amd64 Signed kernel image generic
rc linux-image-4.15.0-106-generic 4.15.0-106.107 amd64 Signed kernel image generic
rc linux-image-4.15.0-108-generic 4.15.0-108.109 amd64 Signed kernel image generic
rc linux-image-4.15.0-109-generic 4.15.0-109.110 amd64 Signed kernel image generic
rc linux-image-4.15.0-111-generic 4.15.0-111.112 amd64 Signed kernel image generic
rc linux-image-4.15.0-112-generic 4.15.0-112.113 amd64 Signed kernel image generic
rc linux-image-4.15.0-115-generic 4.15.0-115.116 amd64 Signed kernel image generic
rc linux-image-4.15.0-117-generic 4.15.0-117.118 amd64 Signed kernel image generic
rc linux...

Revision history for this message
koba (kobako) wrote (last edit ):

@Rick, did you try this one?
sudo cpufreq-set -f `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
would you please also switch to intel_pstate driver and verify it?

Revision history for this message
Doug Smythies (dsmythies) wrote :

He is using the intel_pstate CPU frequency scaling driver. Now by default processors without HWP will boot into the intel_pstate driver in passive mode (A.K.A. intel_cpufreq).

Revision history for this message
Rick T (ratulloch) wrote :

Yes I can get it to boot into active mode thanks to Doug, but after several minutes the cpu drops to 798-800mhz and won't increase no matter if I try and change it. I did notice that the scaling_governor always boots to powersave mode. When I change it to performance after several minutes the cpu drops to 798-800mhz again.

I did find a similar problem "Linux kernel 5.8 defaults to passive mode for intel_pstate driver for cpu before skylake" but it always boots to the powersave governor and changing it doesn't fix the issue.

https://www.reddit.com/r/linux/comments/ihdozd/linux_kernel_58_defaults_to_passive_mode_for/

Revision history for this message
Doug Smythies (dsmythies) wrote :

If the intel_pstate scaling driver is "active" then "powersave" is the default governor. If the driver "passive" or the is the acpi-cpufreq driver during boot, then the default governor will be "ondemand". Note that "active-powersave" is crudely the equivalent of "passive-ondemand". You can eliminate these default settings by stopping and disabling the "ondemand" service. Without the service, the governor will be as defined by the kernel configuration file or the grub command line. Recently, Ubuntu has changed to "schedutil" as the default in the kernel configuration.

$ grep CONFIG_CPU_FREQ_DEFAULT /boot/config-5.11.0-40-generic
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y

For these "few minutes" you mention, please run a load, for example "$ yes > /dev/null", while at the same time running the following turbostat command in another terminal:

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

And check all operating parameters after the slow down looking for any limiting change.
Post the turbostat output here.

Revision history for this message
Rick T (ratulloch) wrote :
Download full text (5.2 KiB)

Now after another reboot the speed is stuck at 800mhz again and doesn't move

rt@sys76:~$ uname -r
5.15.5-76051505-generic
rt@sys76:~$ grep CONFIG_CPU_FREQ_DEFAULT /boot/config-5.15.5-76051505-generic
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
rt@sys76:~$

rt@sys76:~$ sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt,CorWatt --interval 10
[sudo] password for rt:
Busy% Bzy_MHz IRQ PkgTmp PkgWatt CorWatt GFXWatt
2.42 800 5550 43 1.59 0.05 0.02
15.37 800 17228 44 2.99 0.42 0.17
19.79 800 25124 44 3.50 0.51 0.15
31.52 800 42876 46 5.06 0.88 0.44
9.73 800 14967 46 2.61 0.25 0.15
3.60 800 7358 46 1.66 0.07 0.04
4.63 800 8529 46 1.87 0.10 0.04
3.29 800 7243 46 1.68 0.07 0.03
7.49 800 12913 47 2.29 0.19 0.07

rt@sys76:~$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to <email address hidden>, please.
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: 4294.55 ms.
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 798 MHz.
analyzing CPU 1:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 4294.55 ms.
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 798 MHz.
analyzing CPU 2:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 2
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 4294.55 ms.
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 3.40 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 798 MHz.
analyzing CPU 3:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 4294.55 ms.
  hardware limits: 800 MHz - 3.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 3.40 GHz.
                  The governor "performance" may decide which s...

Read more...

Revision history for this message
Doug Smythies (dsmythies) wrote :

Try changing to the powersave governor. If something else set another pstate request and the intel_pstate driver doesn't know about it, then with the performance governor it might never send a new pstate request.

All of this is very similar to a few months ago, on askubuntu and the path of investigation is the same.
References:
https://askubuntu.com/questions/1360985/all-cpus-stuck-at-800mhz-ubuntu-20-04-3
https://askubuntu.com/questions/1366090/ubuntu-20-04-3-lts-significant-throttling-of-intel-i7-processor
https://askubuntu.com/questions/1379048/intel-pstate-driver-not-being-loaded-when-added-to-grub-file

To check all operating parameters I do not mean to use cpufreq-info. I mean do:

grep . /sys/devices/system/cpu/intel_pstate/*

and

grep . /sys/devices/system/cpu/cpu*/cpufreq/*

For posting herein, and as a long as you have checked that the repeated information is the same, the second one can be shortened to (choose whatever CPU you want):

grep . /sys/devices/system/cpu/cpu2/cpufreq/*

Revision history for this message
Doug Smythies (dsmythies) wrote :

When the frequency seems stuck at 800 MHz, then please put a load on a CPU and look at the pstate request and granted MSR's.

Example, where I force CPU 2:

$ taskset -c 2 yes > /dev/null

and then look at the request and granted pstates:

$ sudo rdmsr --bitfield 15:8 -u -a 0x199
8
8
48
8
30
8
8
8
8
33
8
8

and

$ sudo rdmsr --bitfield 15:8 -u -a 0x198
48
48
48
48
48
48
48
48
48
48
48
48

So, and as expected, I am asking for the highest patete possible for CPU 2 and being given pstate 48 on all CPUs.

Revision history for this message
Rick T (ratulloch) wrote :

Ok

One terminal was running
rt@sys76:~$ taskset -c 2 yes > /dev/null

2nd terminal data:

rt@sys76:~$ grep . /sys/devices/system/cpu/intel_pstate/*

/sys/devices/system/cpu/intel_pstate/max_perf_pct:100
/sys/devices/system/cpu/intel_pstate/min_perf_pct:50
/sys/devices/system/cpu/intel_pstate/no_turbo:0
/sys/devices/system/cpu/intel_pstate/num_pstates:27
/sys/devices/system/cpu/intel_pstate/status:active
/sys/devices/system/cpu/intel_pstate/turbo_pct:38
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$ grep . /sys/devices/system/cpu/cpu2/cpufreq/*

/sys/devices/system/cpu/cpu2/cpufreq/affected_cpus:2
/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq:3400000
/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_min_freq:800000
/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_transition_latency:0
/sys/devices/system/cpu/cpu2/cpufreq/related_cpus:2
/sys/devices/system/cpu/cpu2/cpufreq/scaling_available_governors:performance powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq:798228
/sys/devices/system/cpu/cpu2/cpufreq/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq:3400000
/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq:800000
/sys/devices/system/cpu/cpu2/cpufreq/scaling_setspeed:<unsupported>
rt@sys76:~$

rt@sys76:~$ sudo rdmsr --bitfield 15:8 -u -a 0x198
[sudo] password for rt:
8
8
8
8
8
8
8
8
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$ sudo rdmsr --bitfield 15:8 -u -a 0x199
17
17
34
17
17
34
17
17
rt@sys76:~$

Revision history for this message
Doug Smythies (dsmythies) wrote :

Since the intel_pstate driver is asking for 3.4 GHz, but the processor itself is only granting 0.8 GHz we now know that the throttling is within the processor and not externally driven.

It might be related to what koba noted in comment #8, I don't know.

The processor has MSRs with bits to indicate the reasons it is throttling, which is the next place to look. Myself, I am tried of decoding the common MSR bits, so I wrote a decoder. It is at (coded so as to avoid bots):

double u double u double u dot smythies dot com /~doug/temp_kernel/

Both the c code and compiled, msr-decoder.c

run as sudo: "sudo ./msr-decoder" and post the output here.

There is also a log bit reset program, that clears held bits for ongoing work.

If you do not want to use my programs, then read MSR's 0x19c, 0x1aa, 0x1b1, 0x16f, 0x1fc and post the contents here.

As a side note: Your /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq:800000 is not 50% of maximum as dictated by /sys/devices/system/cpu/intel_pstate/min_perf_pct:50. I had thought the two getting out of sync had been fixed.

Revision history for this message
Rick T (ratulloch) wrote (last edit ):
Download full text (13.7 KiB)

ok

rt@sys76:~$ sudo rdmsr -c -p0 0x19c
0x8839080c
rt@sys76:~$ sudo rdmsr -c -p0 0x1aa
0x400000
rt@sys76:~$ sudo rdmsr -c -p0 0x1b1
0x8839080c
rt@sys76:~$ sudo rdmsr -c -p0 0x16f
rdmsr: CPU 0 cannot read MSR 0x0000016f
rt@sys76:~$ sudo rdmsr -c -p0 0x1fc
0x4005d

rt@sys76:~$ sudo strace rdmsr 0x19C
execve("/usr/sbin/rdmsr", ["rdmsr", "0x19C"], 0x7ffdaa2d1488 /* 17 vars */) = 0
brk(NULL) = 0x55b45cb84000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc77c46f80) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=253505, ...}) = 0
mmap(NULL, 253505, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f35e41bf000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=2029224, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35e41bd000
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68
mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f35e3fcb000
mprotect(0x7f35e3ff0000, 1847296, PROT_NONE) = 0
mmap(0x7f35e3ff0000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f35e3ff0000
mmap(0x7f35e4168000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7f35e4168000
mmap(0x7f35e41b3000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f35e41b3000
mmap(0x7f35e41b9000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f35e41b9000
close(3) = 0
arch_prctl(ARCH_SET_FS, 0x7f35e41be580) = 0
mprotect(0x7f35e41b3000, 12288, PROT_READ) = 0
mprotect(0x55b45c8b1000, 4096, PROT_READ) = 0
mprotect(0x7f35e422a000, 4096, PROT_READ) = 0
munmap(0x7f35e41bf000, 253505) = 0
openat(AT_FDCWD, "/dev/cpu/0/msr", O_RDONLY) = 3
pread64(3, "\f\109\210\0\0\0\0", 8, 412) = 8
close(3) = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x3), ...}) = 0
brk(NULL) = 0x55b45cb84000
brk(0x55b45cba5000) = 0x55b45cba5000
write(1, "8839080c\n", 98839080c
) = 9
exit_group(0) = ?
+++ exited with 0 +++

rt@sys76:~$ sudo strace rdmsr 0x1aa
execve("/usr/sbin/rdmsr", ["rdmsr", "0x1aa"], 0x7fffde650548 /* 17 vars */) = 0
brk(NULL) = 0x...

Revision history for this message
Doug Smythies (dsmythies) wrote :

Sorry, 0x16f was wrong, it should have been 0x64F. I have no idea why you are doing strace on this stuff. Since you haven't used my decoder, it will be sometime before I manually decode.

Revision history for this message
Doug Smythies (dsmythies) wrote (last edit ):

Your processor is indicating this:

PROCHOT# or FORCEPR# Event (bit 2, RO) — Indicates whether PROCHOT# or FORCEPR# is being
asserted by another agent on the platform.

The related sticky log bit is also set.

This is something I suspected a couple of months ago, on one of those askubuntu threads. As to why the bit does not go back to 0, I do not know, that would be your hardware.

Please also provide the contents of MSR 0x1B2.

Note that your processor is also indicating a past power limit, via the log bit. However, many do as they come out of the BIOS to the O.S., so it might be a red herring. One has to clear the log bit and then watch for it becoming set again to know for certain.

Revision history for this message
koba (kobako) wrote :

@Rick, could you try to disable thermald.service on systemd and reboot then enter active mode,
check the issue status. thanks

Revision history for this message
Rick T (ratulloch) wrote :

@koba issue still occurs.

@Doug

rt@sys76:~$ sudo rdmsr -c -p0 0x1b2
0x3

rt@sys76:~$ sudo strace rdmsr 0x1b2

execve("/usr/sbin/rdmsr", ["rdmsr", "0x1b2"], 0x7fff4f90a298 /* 17 vars */) = 0
brk(NULL) = 0x56510cc31000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe42320b10) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=253505, ...}) = 0
mmap(NULL, 253505, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fec43900000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=2029224, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fec438fe000
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68
mmap(NULL, 2036952, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fec4370c000
mprotect(0x7fec43731000, 1847296, PROT_NONE) = 0
mmap(0x7fec43731000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fec43731000
mmap(0x7fec438a9000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19d000) = 0x7fec438a9000
mmap(0x7fec438f4000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7fec438f4000
mmap(0x7fec438fa000, 13528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fec438fa000
close(3) = 0
arch_prctl(ARCH_SET_FS, 0x7fec438ff580) = 0
mprotect(0x7fec438f4000, 12288, PROT_READ) = 0
mprotect(0x56510cbb5000, 4096, PROT_READ) = 0
mprotect(0x7fec4396b000, 4096, PROT_READ) = 0
munmap(0x7fec43900000, 253505) = 0
openat(AT_FDCWD, "/dev/cpu/0/msr", O_RDONLY) = 3
pread64(3, "\3\0\0\0\0\0\0\0", 8, 434) = 8
close(3) = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0), ...}) = 0
brk(NULL) = 0x56510cc31000
brk(0x56510cc52000) = 0x56510cc52000
write(1, "3\n", 23
) = 2
exit_group(0) = ?
+++ exited with 0 +++
rt@sys76:~$

Revision history for this message
Doug Smythies (dsmythies) wrote :

I would still likes to know what MSR 0x64F says, as per comment #20.

Yes, thermald should have been disabled for all of this stuff, and I thought it was.

Recall one the askubuntu threads, where I suggested writing 0x4005C to MSR 0x1FC. Do so at your own risk.

Your hardware seems to have issues, and assems to be asserting the external PROCHOT bit.

If it were me, I would disable turbo boost in BIOS, and boot into passive mode with the schedutil governor:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=passive cpufreq.default_governor=schedutil"

Revision history for this message
Srinivas Pandruvada (srinivas-pandruvada) wrote :

As Doug correctly described, there is a active prochot situation on the system, so processor frequency is limited.
Can you dump:
#grep . /sys/class/powercap/intel-rapl/intel-rapl\:0/*

Also if you are able to boot the system without being stuck at 800MHz, can you try
#echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
and check,
If BIOS has option to disable turbo you can try that.

Revision history for this message
koba (kobako) wrote : Re: [Bug 1945221] Re: CPU frequency stuck at minimum value..again Ubuntu 20.04.3

@Srinivas,
could you please list the situations when the lock would be triggered?
here's first, #PROCHOT is flagged

Revision history for this message
Srinivas Pandruvada (srinivas-pandruvada) wrote :

Also monitor
# cat /proc/interrupts | grep Thermal

Revision history for this message
Rick T (ratulloch) wrote :
Download full text (4.3 KiB)

The speed is limited on every boot now...I also notice my bios time being reset to 2013...when unplugged from the wall (I'm going to open it up, the cmos battery may have died.)

rt@sys76:~$ sudo grep . /sys/class/powercap/intel-rapl/intel-rapl\:0/*
[sudo] password for rt:
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw:47000000
/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:47000000
/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:58750000
/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:0
/sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj:5242172615
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
grep: /sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2: 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
rt@sys76:~$

rt@sys76:~$
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$
rt@sys76:~$ sudo rdmsr -c -p0 0x64F

rdmsr: CPU 0 cannot read MSR 0x0000064f

rt@sys76:~$ sudo strace rdmsr 0x64F

execve("/usr/sbin/rdmsr", ["rdmsr", "0x64F"], 0x7ffe9486b188 /* 16 vars */) = 0
brk(NULL) = 0x5633b869a000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe398f8370) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=79034, ...}) = 0
mmap(NULL, 79034, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc1f8b19000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360q\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\320\31\331\326\10\204\276X>\263"..., 68, 880) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=2029224, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc1f8b17000
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\t\233\222%\274\260\32...

Read more...

Revision history for this message
Srinivas Pandruvada (srinivas-pandruvada) wrote :

There is no powerlimit via RAPL also here. Prochot can be generated by some device on the system. We don't know the source.
If some old kernel works it is possible that newer kernel activated some new device which is causing issue.
It is also possible that some device is now malfunctioning on the HW.

Revision history for this message
koba (kobako) wrote :

@Rick, would you mind to help bisect the kernel?

Revision history for this message
Rick T (ratulloch) wrote :

I'm not sure what's needed to bisect the kernel? What would I need to do?

Revision history for this message
koba (kobako) wrote (last edit ):

@Rick, here's built mainline kernel image, you could find the deb files for amd64 platform.
https://kernel.ubuntu.com/~kernel-ppa/mainline/

just download them and file this command.
#dpkg -i *.deb

please find the first bad or last good kernel version.

thanks

Revision history for this message
koba (kobako) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.