AMD p-State Drivers

Sup Guys.
AMD 5600 CPU here, trying the new 6.6 Kernel on Dragonfish-24.04-RC.1
Comming from this Topic in the old Forum:

Because that worked but didn’t improve power draw i wanted to take a closer look at CPU state.
Found this Ryzen SMU Tool.

trying the Standalone:

git clone https://gitlab.com/leogx9r/ryzen_smu.git
cd ryzen_smu

make
sudo insmod ryzen_smu.ko

i found out that there is no Make included. So i tried the install-dev-tools command which helped.

[427716.182431] ryzen_smu: loading version: 0.1.5
[427716.182434] ryzen_smu: CPUID: family 0x19, model 0x21, stepping 0x2, package 0x2
[427716.182637] ryzen_smu: Family Codename: Vermeer
root@NAS[/home/admin/ryzen_smu]# python3 scripts/test.py
Retrieved SMU Version: v56.76.0
Processor Code Name: Vermeer
PM Table: Supported
SMN Offset[0x50200]: 0x00001930

Everything seems to be working properly!

to run the cpu monitor don’t use the python script, it fails.
switch to userspace folder and make. Switch back to parrent directory sudo ./userspace/monitor_cpu -f

╭────────────────────────────────────────────────┬─────────────────────────────────────────────────╮
│                                      CPU Model │               AMD Ryzen 5 5600 6-Core Processor │
│                            Processor Code Name │                                         Vermeer │
│                             Core Configuration │                                       6 (1-1-6) │
│                               Overdrive Scalar │                                              1x │
│                                 SMU FW Version │                                        v56.76.0 │
│                                 MP1 IF Version │                                             v11 │
╰────────────────────────────────────────────────┴─────────────────────────────────────────────────╯
╭─────────┬────────────────┬─────────┬─────────┬─────────┬─────────────┬─────────────┬─────────────╮
│  Core 0 │      Sleeping | 4.450 W | 1.009 V | 457.15 C | C0:   0.0 % | C1:   8.4 % | C6:   3.7 % │
│  Core 1 │      Sleeping | 0.990 W | 1.040 V | 457.14 C | C0:   0.0 % | C1:   0.0 % | C6:   0.0 % │
│  Core 2 │        30 MHz | 0.000 W | 1.038 V | 147.64 C | C0:   8.4 % | C1:   3.7 % | C6:   0.2 % │
│  Core 3 │     Sleeping | 23.260 W | 1.040 V | 400.00 C | C0:   0.0 % | C1:   0.0 % | C6:   0.0 % │
│  Core 4 │        31 MHz | 0.000 W | 1.038 V | 400.00 C | C0:   8.4 % | C1:   3.7 % | C6:   0.2 % │
│  Core 5 │         29 MHz | 0.000 W | 1.037 V |  0.00 C | C0:   8.4 % | C1:   3.7 % | C6:   0.3 % │
╰─────────┴────────────────┴─────────┴─────────┴─────────┴─────────────┴─────────────┴─────────────╯
╭────────────────────────────────────────────────┬─────────────────────────────────────────────────╮
│                            Peak Core Frequency │                                       50936 MHz │
│                               Peak Temperature │                                         50.14 C │
│                                  Package Power │                                       23.1801 W │
│                           Peak Core(s) Voltage │                                      1.039851 V │
│                           Average Core Voltage │                                      1.033646 V │
│                           Package C6 Residency │                                      0.000000 % │
│                              Core C6 Residency │                                      0.738804 % │
╰────────────────────────────────────────────────┴─────────────────────────────────────────────────╯
╭────────────────────────────────────────────────┬─────────────────────────────────────────────────╮
│                         Thermal Junction Limit │                                         95.00 C │
│                            Current Temperature │                                         52.33 C │
│                                SoC Temperature │                                          0.00 C │
│                                     Core Power │                                        6.0284 W │
│                                      SoC Power │              3.1369 W |   3.1174 A | 1.006240 V │
│                                            PPT │             23.1841 W |      76  W |    30.51 % │
│                                            TDC │              5.6521 A |      60  A |     9.42 % │
│                                            EDC │              5.6521 A |      90  A |     6.28 % │
│                                Frequency Limit │                                        3906 MHz │
│                                      FIT Limit │                                      0.024087 % │
╰────────────────────────────────────────────────┴─────────────────────────────────────────────────╯
╭────────────────────────────────────────────────┬─────────────────────────────────────────────────╮
│                                   Coupled Mode │                                              ON │
│                         Fabric Clock (Average) │                                        1600 MHz │
│                                   Fabric Clock │                                        1600 MHz │
│                                   Uncore Clock │                                        1600 MHz │
│                                   Memory Clock │                                        1600 MHz │
│                            DRAM Read Bandwidth │                                     0.356 GiB/s │
│                           DRAM Write Bandwidth │                                     0.093 GiB/s │
│                                      VDDIO_Mem │                                       12.1619 W │
│                                      VDDCR_SoC │                                        1.0000 V │
│                                      cLDO_VDDM │                                        0.0000 V │
│                                      cLDO_VDDP │                                        0.0000 V │
│                                      cLDO_VDDG │                                        0.0000 V │
╰────────────────────────────────────────────────┴─────────────────────────────────────────────────╯

This seems to be the only tool that properly shows C6 state, compared to Powertop and turbostat which show C1 and C2 only.

Hi Haldi,
im also trying to dive deeper into the p state topic again for amd apus.

As far as i can tell my CPU (4650G) with CPPC enabled show without adding the guided config to kernel a jump down to 400mhz.

Sadly its very jumping around so the benefit is small.
But for sure that depends of the config as we know.

im curious if your recommended command for the guided parameter will improve that even more.
So i added him.

Well … turbostat showing me some interesting moving downs to even average 71Mhz but with your other command to watch the freq scaling there is no drop down below 2,36Ghz showing.

Power consumption did seem changed also.

Any ideas how to interpret that?

Update: What i can see is, that Linux changed the Driver from the amd-pstate-eep to the amd-pstate.

im running 24.04.2

Greetings