[Bug 218696] New: DYTC frequency scaling deterioration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=218696

            Bug ID: 218696
           Summary: DYTC frequency scaling deterioration
           Product: Drivers
           Version: 2.5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Platform_x86
          Assignee: drivers_platform_x86@xxxxxxxxxxxxxxxxxxxx
          Reporter: lmulling@xxxxxxxxx
        Regression: No

Created attachment 306108
  --> https://bugzilla.kernel.org/attachment.cgi?id=306108&action=edit
ACPI Feilds dump before during and after the problem

Hi,

I'm trying to implement automatic user-space platform profile controls for my
ThinkPad and noticed that while under load, i.e. compiling the kernel, the
firmware (I think) will start sending `ibm/hotkey LEN0268:00 00000080 00006032`
events non-stop, which causes thinkpad_acpi to update the platform profile.
This happens once every second. However, the profile doe's not change. This
render any userspace tool useless, since we cannot react according to Fn +
[L|M|H] events.

While this is happening, the max frequency scaling will get stuck at a maximum
of around 2990MHz (78 C). The baseline for this model, from my measurements, is
3.400MHz (95 C). This seems to happen only if the GPU is used and DYTC is in
MMC mode.

I can reproduce this reliably by playing a full-screen YouTube video while
compiling the kernel.

Changing platform profile to low-power and then back to performance fixes this
for a while. I've also noticed that leaving the deceive sleeping for long
periods of time fixes this.

I've tried looking at the DYTC implementation but didn't find anything special
about going into low-power, I've tried to dump the the ACPI fields using
acpi_dbg, but haven't found anything useful yet.

I've attached the dumps (in the same file), which are:

- before, taken after reboot.
- during, taken while the firmware is sending 6032 events and frequency scaling
is stuck;
- after, taken after changing the platform profile to low-power and back to
performance (this was done using Fn + L then Fn + H)

Bellow, also, is the diff between during and after. But it does not show
anything useful to me.
```
--- during      2024-04-08 15:17:49.998768985 -0300
+++ after       2024-04-08 15:20:56.829128627 -0300
@@ -151,7 +151,7 @@
 \_SB.PCI0.SMB.LRG3 {00000000000000FF}
 \_SB.PCI0.SMB.LHC3 {00000000000000FF}
 \_SB.PCI0.SMB.SEC {0000000000000031}
-\_SB.PCI0.SMB.MIN {0000000000000017}
+\_SB.PCI0.SMB.MIN {0000000000000020}
 \_SB.PCI0.SMB.MX01 {00000000000000FF}
 \_SB.PCI0.SMB.MX07 {00000000000000FF}
 \_SB.PCI0.SMB.MX14 {00000000000000FF}
@@ -191,7 +191,7 @@
 \_SB.PCI0.SMB.MS04 {00000000000000F0}
 \_SB.PCI0.SMB.MS40 {0000000000000042}
 \_SB.PCI0.SMB.ECES {0000000000000000}
-\_SB.PCI0.LPC0.EC0.SBVO {000000000000317B}
+\_SB.PCI0.LPC0.EC0.SBVO {000000000000317A}
 \_SB.PCI0.LPC0.EC0.SBAC {0000000000000000}
 \_SB.PCI0.LPC0.EC0.SBRS {0000000000000064}
 \_SB.PCI0.LPC0.EC0.SBRC {000000000000110A}
@@ -210,7 +210,7 @@
 \_SB.PCI0.LPC0.EC0.SBCH {000000000050694C}
 \_SB.PCI0.LPC0.EC0.SBMN {53 4D 50 00 32 30 32 31 00 00 00 00 00 00 C0 C0 }
 \_SB.PCI0.LPC0.EC0.SBDN {4C 4E 56 2D 35 42 31 31 48 35 36 33 33 39       }
-\_SB.PCI0.LPC0.EC0.TWBT {C0 C0 01 03 E0 41 00 00 00 00 00 00 00 00 00 00 C0 C0
20 E0 DC 0B 7B 31 00 00 00 00 64 00 0A 11 C0 C0 0A 11 FF FF FF FF FF FF E0 00
0A 00 14 0C C0 C0 68 10 F2 2B 31 00 B4 56 8F 06 EE 12 00 00 C0 C0 53 4D 50 00
32 30 32 31 00 00 00 00 00 00 C0 C0 4C 4E 56 2D 35 42 31 31 48 35 36 33 33 39
C0 C0 4C 69 50 00 00 00 00 00 00 00 00 00 00 00 C0 C0 58 32 58 50 33 35 4C 30
31 4C 46 00 00 00 C0 C0 4C 58 C1 41 80 00 05 00 42 05 00 01 06 00 C0 C0 10 00
02 00 00 00 00 00 00 00 00 00 00 00 C0 C0 42 01 01 01 00 00 7E 10 7E 10 7E 10
04 50 C0 C0 B0 01 B6 0A 29 02 00 00 00 00 00 00 00 00 C0 C0 00 07 00 00 00 00
00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00
00 00 00 00 }
+\_SB.PCI0.LPC0.EC0.TWBT {C0 C0 01 03 E0 41 00 00 00 00 00 00 00 00 00 00 C0 C0
20 E0 DE 0B 7A 31 00 00 00 00 64 00 0A 11 C0 C0 0A 11 FF FF FF FF FF FF E0 00
0A 00 0D 0C C0 C0 68 10 F2 2B 31 00 B4 56 8F 06 EE 12 00 00 C0 C0 53 4D 50 00
32 30 32 31 00 00 00 00 00 00 C0 C0 4C 4E 56 2D 35 42 31 31 48 35 36 33 33 39
C0 C0 4C 69 50 00 00 00 00 00 00 00 00 00 00 00 C0 C0 58 32 58 50 33 35 4C 30
31 4C 46 00 00 00 C0 C0 4C 58 C1 41 80 00 05 00 42 05 00 01 06 00 C0 C0 10 00
02 00 00 00 00 00 00 00 00 00 00 00 C0 C0 42 01 01 01 00 00 7E 10 7E 10 7E 10
04 50 C0 C0 B0 01 B6 0A 29 02 00 00 00 00 00 00 00 00 C0 C0 00 07 00 00 00 00
00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00
00 00 00 00 }
 \_SB.PCI0.LPC0.EC0.T2BT {00 01 00 00 00 00 00 00 7A 00 00 00 00 00 41 50 50 20
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 1A 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 }
 \_SB.SMIB {00000000000000B0}
 \_SB.PEBA {00000000F8000000}
@@ -903,5 +903,3 @@
 \M414 {0000000000000B00}
 \M444 {00 00 00 00 00 00 00 00 00                      }
 \M449 {00 00 00 00 00 00 00 00 00                      }
```

Tested on:
- Kernel: 6.8.1
- Host: 21C6000UBO
- UEFI: 0.1.30

I'm willing to help debug this in any way I can, though i'm out of ideas right
now. I'm also not sure if this is a firmware bug and wanted a second opinion
before sinking more time into this.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux