AMD pstate driver steps and discussion

LordRatner

Member
Jun 20, 2022
50
13
8
Hi, everyone.

I spent the morning trying to figure this all out, and I think I've gotten it. So the first part are the steps I took to get the AMD P-States driver for CPU scaling to work. The second part is a discussion on using this driver and the benefits, if any, of changing this over leaving the default Proxmox settings.

My systems:

node1:
  • Ryzen 9 5950X
  • ASRock X570 Extreme 4 Motherboard
  • 128GB ECC RAM
  • OS drive: Mirrored 2TB NVMe SSD UEFI boot mode
node2:
  • Ryzen 5 5600
  • ASRock B550 Phantom Gaming ITX/ax Motherboard
  • 64GB ECC RAM
  • OS drive: Single 2TB NVMe SSD UEFI boot mode

Ok, here's how to get it working:
  1. Upgrade the kernel
    • apt install pve-kernel-5.19
    • reboot
  2. Modify the kernel comandline
    • For UEFI booting systems: nano /etc/kernel/cmdline, for GRUB booting systems: /etc/default/grub
      • add these two commands on the same existing line, separated by a space:
      • initcall_blacklist=acpi_cpufreq_init <-- Blocks the default CPU scaler and allows the amd_pstate driver to load
      • amd_pstate.shared_mem=1 <-- No idea what this does
    • Now run proxmox-boot-tool refresh for UEFI, or update-grub for GRUB systems
    • reboot
  3. Check if it worked
    • /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
    • You should see "amd-pstate"
  4. Set your desired scaling mode
    • Check the available modes: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
    • Add a crontab line: crontab -e (you might have to choose and editor if it's the first time)
    • Add the cronjob on a new line. Make sure to replace "powersave" with the desired mode
      • @reboot echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    • OR, add the setting to the kernel command line:
      • cpufreq.default_governor=powersave
      • run proxmox-boot-tool refresh
    • Reboot
  5. Check the results
    • To see the currently selected mode: cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    • To see what your CPU cores are running at: watch grep \"cpu MHz\" /proc/cpuinfo
That's it, at least for my systems. On to the discussion:

I'm not a pro, so I don't know the best mode to pick, and I haven't done any testing on this. All I know is the CPUs went from running at max frequency 100% of the time to running based on the load.

Thoughts? Also please point out any errors I made. Thanks!
 
Last edited:
I've been testing this with my AMD Ryzen 9 3950X but when using the amd-pstate drivers the CPU clock speed isn't reduced as much as with the acpi-cpufreq as a driver. Also powersave works but ondemand doesn't and if powersave is used it won't go beneath the 3Ghz in my case. While when using the acpi-cpufreq driver the CPU clock scales back to 2200MHz. When using ondemand it even goes below 2000Mhz. Read more about it the different CPUfreq governors here and choose the one best for your usecase.

All in all not convinced this works properly. Perhaps with newer ryzen processors it does.

By the way; I needed to execute update-grub after changing the grub config file. Which isnt mentioned in the steps above.
 
Last edited:
By the way; I needed to execute update-grub after changing the grub config file. Which isnt mentioned in the steps above.
Ok thanks, I did everything on uefi, so I didn't get to test the grub steps. Did you just have to run that, or does proxmox-boot-tool also work with grub?
 
Last edited:
I've been testing this with my AMD Ryzen 9 3950X but when using the amd-pstate drivers the CPU clock speed isn't reduced as much as with the acpi-cpufreq as a driver. Also powersave works but ondemand doesn't and if powersave is used it won't go beneath the 3Ghz in my case. While when using the acpi-cpufreq driver the CPU clock scales back to 2200MHz. When using ondemand it even goes below 2000Mhz. Read more about it the different CPUfreq governors here and choose the one best for your usecase.

All in all not convinced this works properly. Perhaps with newer ryzen processors it does.

Have you tried "schedutil" mode? My 5950x cores drop to 550MHz at idle using that.
 
Have you tried "schedutil" mode? My 5950x cores drop to 550MHz at idle using that.
Yes but I don't think the 3950x is able to go lower. According to cpupower it only has 3 Pstates

Code:
# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  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: 2.20 GHz - 4.76 GHz
  available frequency steps:  3.50 GHz, 2.80 GHz, 2.20 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 2.20 GHz and 3.50 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: 2.20 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes
    Boost States: 0
    Total States: 3
    Pstate-P0:  3500MHz
    Pstate-P1:  2800MHz
    Pstate-P2:  2200MHz
 
Yes but I don't think the 3950x is able to go lower. According to cpupower it only has 3 Pstates

Code:
# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  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: 2.20 GHz - 4.76 GHz
  available frequency steps:  3.50 GHz, 2.80 GHz, 2.20 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 2.20 GHz and 3.50 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: 2.20 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes
    Boost States: 0
    Total States: 3
    Pstate-P0:  3500MHz
    Pstate-P1:  2800MHz
    Pstate-P2:  2200MHz
Interestingly, my 5950x also shows 2200 as the min, yet on schedutil mode it shows them in real time going down to 550 MHz
 
Ok. I've updated my bios to the latest version and enabled CPPC specifically. I also installed kernel 6.1 after reading this topic over at the archlinux forum. This seem to solve the problem and now the clockspeed goes back to 500 with schedutil and/or ondemand. Awesome!

Ok thanks, I did everything on uefi, so I didn't get to test the grub steps. Did you just have to run that, or does proxmox-boot-tool also work with grub?
  1. Open /etc/default/grub
  2. Add initcall_blacklist=acpi_cpufreq_init amd_pstate.shared_mem=1 to GRUB_CMDLINE_LINUX_DEFAULT
  3. Execute update-grub which will create a new boot image.
 
Last edited:
Does the PVE kernel 6.1 not include the amd-pstate driver or does it need a different way to enable it for a 5950X?
EDIT: It is builtin and not a module and I needed amd_pstate=passive initcall_blacklist=acpi_cpufreq_init to enable it. Instead of frequencies between 2200 and 4500, it's now between 550 and 5084Mhz with schedutil and CPPC enabled.
 
Last edited:
  • Like
Reactions: LordRatner
Has anyone checked the idle power reduction with this?

My motivation to use this driver was to clock down the CPU speed to see if I could save some energy.

Schermafbeelding 2022-12-30 om 19.41.12.png

Before the first red circle the processor would only go back to around 2Ghz, the scaling governer was set to ondemand and with the acpi-cpufreq driver.
After the first red circle I enabled the amd-pstate driver with the scaling governer set to schedutil. This dropped the CPU clock from some cores back to 500mhz. .
After the second red circle I changed the scaling governer from schedutil to ondemand with still the same amd-pstate driver which resulted in less spikes as can be seen in the graph above.

Now the results based on 2 days of usage:
Between 21 and 23 december usage: 7,14 kWh
Between 25 and 27 december usage: 7,57 kWh
Between 28 and 30 december usage: 7,01 kWh :cool:

Be aware: the amount of (kilo)watts mentioned is not used only by the proxmox server but there are also some other devices connected to the same power-meter (NAS and a switch). Also the load on the server is not constant and changes depending on tasks that are executed. However by average its about the same.

Conclusion: it helps a bit but not by much.
 
Last edited:
  • Like
Reactions: zuzuboy981
Dear Forum,

I yesterday tested it and can say: IT DOES THE OPPOSITE!!!

Following constellation:
AMD Ryzen 7 5700x
ASROCK Steel legend B550
NVidia Geforce TI1050 passed to a VM
64 GB Kingston DDR 4 3200 (Running at 2400)
1 RAID Controller passed to a VM
1 HDD passed to a VM
1 Bluetooth passed to a VM
1 DVB-S Capturing card with 6 tuner passed to a VM

3 Windows VM
8 LXC containers

running most the time IDLE

Code:
CPU(s) 16 x AMD Ryzen 7 5700X 8-Core Processor (1 Socket)
Kernel Version Linux 6.1.2-1-pve #1 SMP PREEMPT_DYNAMIC PVE 6.1.2-1 (2023-01-10T00:00Z)
PVE Manager Version pve-manager/7.3-4/d69b70d4[/TD]

With original ACPI driver I came down from 3,4 to 2,2 GHz and thougt it must bring down the consumption at least about 5 Watts in IDLE -> I had a rise from about 8 Watts, all cores running down clocked.

Okay, I will test the AMD P-State driver:

got it activated with the tip from rvdmeer mentioned a few posts before:

Code:
Open /etc/default/grub
[*]Add initcall_blacklist=acpi_cpufreq_init amd_pstate.shared_mem=1 to GRUB_CMDLINE_LINUX_DEFAULT
[*]Execute update-grub which will create a new boot image.


Code:
root@pve1:~# cpupower frequency-info
analyzing CPU 0:
  driver: amd-pstate
  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: 550 MHz - 4.66 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 550 MHz and 4.66 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.59 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: no
    Boost States: 0
    Total States: 3
    Pstate-P0:  600MHz
    Pstate-P1:  700MHz
    Pstate-P2:  500MHz


Tested following govenors:
conservative
ondemand
powersave
performance
schedutil

All did their Job and CPU clocked down until 500 mhz most the time (the Machine is more idleing than working, so I thougt: wow, this must bring 10 Watt / h less energy consumption.

The PC/Server is connected to an UPS which also provides power to an POE switch which also powers 3 Accesspoints, a router, a DSL modem, some of self build raspberry hardware and a nixie clock and so on.

Before the UPS there is a energy meter.
With all the hardware and consumers connected I could clearly see:
the one and only and best "power saving" govenor was:
performance. When all CPU cores clocked to 3,4 ghz the energy consumption was in the middle 6-8 watt less than with all other tested govenors.

I could not believe, but I switched to all govenors one after the other, on a 2nd window I reviewed CPU clocks, as told, the govenors and AMD p-state driver was working, CPU clocks of the 16 virtual CPUs went down to 500 MHz but power consumption rised about 6-8 watts....

Switched back to performance, and I could see that some CPU rised from 3,4 to 4,6 GHz but with this constellation I had the best effort.

Now the machine consumes exactly the same, as before with the ACPI driver with default performance govenor..

Hope this helps someone, perhaps I did a mistake, I let the BIOS and performance settings at default, only thing I changed was enabling IOMMU and virtualisation in BIOS.

thx

Dirk

EDIT:
the samie issue is well known since months: Here some Info
 
Last edited:
Hi guys, I followed the steps without success :(
Now I'm getting no cpufreq driver active. When I remove the blacklist entry get acpi driver again.

Thanks you!

Hardware:
Code:
Mobo: ASUS PRIME X570-PRO (BIOS 4408)
CPU: AMD Ryzen 9 5900X 12-Core Processor
RAM: CMT64GX4M4Z3600C16
NIC: 4 x Intel 82571EB/82571GB Gigabit Ethernet
NIC: 1 x Intel  I211 Gigabit Network
GPU: NVIDIA GT218 [GeForce 210]

Kernel:
Code:
inux pve 5.19.17-2-pve #1 SMP PREEMPT_DYNAMIC PVE 5.19.17-2 (Sat, 28 Jan 2023 16:40:25  x86_64 GNU/Linux

Config:
Code:
# cat /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs initcall_blacklist=acpi_cpufreq_init amd_pstate.shared_mem=1

Error output:
Code:
# cpupower frequency-info
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  CPUs which run at the same hardware frequency: Not Available
  CPUs which need to have their frequency coordinated by software: Not Available
  maximum transition latency:  Cannot determine or is not supported.
Not Available
  available cpufreq governors: Not Available
  Unable to determine current policy
  current CPU frequency: Unable to call hardware
  current CPU frequency:  Unable to call to kernel
  boost state support:
    Supported: yes
    Active: no
    Boost States: 0
    Total States: 3
    Pstate-P0:  900MHz
    Pstate-P1:  700MHz
    Pstate-P2:  500MHz
 
Hi guys, I followed the steps without success :(
Now I'm getting no cpufreq driver active. When I remove the blacklist entry get acpi driver again.

Thanks you!

Hardware:
Code:
Mobo: ASUS PRIME X570-PRO (BIOS 4408)
CPU: AMD Ryzen 9 5900X 12-Core Processor
RAM: CMT64GX4M4Z3600C16
NIC: 4 x Intel 82571EB/82571GB Gigabit Ethernet
NIC: 1 x Intel  I211 Gigabit Network
GPU: NVIDIA GT218 [GeForce 210]

Kernel:
Code:
inux pve 5.19.17-2-pve #1 SMP PREEMPT_DYNAMIC PVE 5.19.17-2 (Sat, 28 Jan 2023 16:40:25  x86_64 GNU/Linux

Config:
Code:
# cat /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs initcall_blacklist=acpi_cpufreq_init amd_pstate.shared_mem=1

Error output:
Code:
# cpupower frequency-info
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  CPUs which run at the same hardware frequency: Not Available
  CPUs which need to have their frequency coordinated by software: Not Available
  maximum transition latency:  Cannot determine or is not supported.
Not Available
  available cpufreq governors: Not Available
  Unable to determine current policy
  current CPU frequency: Unable to call hardware
  current CPU frequency:  Unable to call to kernel
  boost state support:
    Supported: yes
    Active: no
    Boost States: 0
    Total States: 3
    Pstate-P0:  900MHz
    Pstate-P1:  700MHz
    Pstate-P2:  500MHz
UEFI or Grub? Did you reload the bootloader?
 
UEFI or Grub? Did you reload the bootloader?
Hi LordRatner! Nice to read you.

Yes, I did an UEFI reload.

This is the output when I remove initcall_blacklist=acpi_cpufreq_init amd_pstate.shared_mem=1 from /etc/kernel/cmdline

Code:
# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  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: 2.20 GHz - 4.95 GHz
  available frequency steps:  3.70 GHz, 2.80 GHz, 2.20 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 2.20 GHz and 3.70 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: 3.70 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: no
    Boost States: 0
    Total States: 3
    Pstate-P0:  900MHz
    Pstate-P1:  700MHz
    Pstate-P2:  500MHz

I don't have the amd_pstate as a kernel module. I understand it is builtin on 5.19.
Code:
# ls /usr/lib/modules/$(uname -r)/kernel/drivers/cpufreq/
amd_freq_sensitivity.ko  p4-clockmod.ko  speedstep-lib.ko
 
Well, I saw this reply and tested with root=ZFS=rpool/ROOT/pve-1 boot=zfs amd_pstate=passive amd_pstate.shared_mem=1 and does the trick but now I'm afraid because the CPU hits the 4.95GHz!!! LOL

Code:
# cpupower frequency-info
analyzing CPU 0:
  driver: amd-pstate
  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: 550 MHz - 4.95 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 550 MHz and 4.95 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 4.95 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: no
    Boost States: 0
    Total States: 3
    Pstate-P0:  900MHz
    Pstate-P1:  700MHz
    Pstate-P2:  500MHz
 
Last edited:
Well, I saw this reply and tested with root=ZFS=rpool/ROOT/pve-1 boot=zfs amd_pstate=passive amd_pstate.shared_mem=1 and does the trick but now I'm afraid because the CPU hits the 4.95GHz!!! LOL

Code:
# cpupower frequency-info
analyzing CPU 0:
  driver: amd-pstate
  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: 550 MHz - 4.95 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 550 MHz and 4.95 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 4.95 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: no
    Boost States: 0
    Total States: 3
    Pstate-P0:  900MHz
    Pstate-P1:  700MHz
    Pstate-P2:  500MHz

So, is there any difference when idling after setting it? Like idle consumption decreased by 10W?
 
Hi.

On mine MAG B550 TOMAHAWK (MS-7C91) , AMD Ryzen 9 5900X 12-Core Processor in makes absolute no
different regards my idle power compsumption , which is as high as usual.

#cpupower frequency-info
Code:
analyzing CPU 0:
  driver: amd-pstate
  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: 550 MHz - 4.95 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 550 MHz and 4.95 GHz.
                  The governor "userspace" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 550 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    AMD PSTATE Highest Performance: 166. Maximum Frequency: 4.95 GHz.
    AMD PSTATE Nominal Performance: 124. Nominal Frequency: 3.70 GHz.
    AMD PSTATE Lowest Non-linear Performance: 58. Lowest Non-linear Frequency: 1.73 GHz.
    AMD PSTATE Lowest Performance: 19. Lowest Frequency: 550 MHz.

I have all settings in my BIOS enabled , which should allow me to go below C2 in p-states.

From dmesg I got this ...

Code:
[    0.062780] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.155043] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484873504 ns
[    0.175061] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x6aa9d8ac481, max_idle_ns: 881590876570 ns
[    0.180576] process: using mwait in idle threads
[    0.359401] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.360197] cpuidle: using governor ladder
[    0.360197] cpuidle: using governor menu
[    0.405052] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.449880] ACPI: \_SB_.PLTF.C000: Found 2 idle states
[    0.449982] ACPI: \_SB_.PLTF.C002: Found 2 idle states
[    0.450056] ACPI: \_SB_.PLTF.C004: Found 2 idle states
[    0.450125] ACPI: \_SB_.PLTF.C006: Found 2 idle states
[    0.450194] ACPI: \_SB_.PLTF.C008: Found 2 idle states
[    0.450263] ACPI: \_SB_.PLTF.C00A: Found 2 idle states
[    0.450309] ACPI: \_SB_.PLTF.C00C: Found 2 idle states
[    0.450355] ACPI: \_SB_.PLTF.C00E: Found 2 idle states
[    0.450420] ACPI: \_SB_.PLTF.C010: Found 2 idle states
[    0.450489] ACPI: \_SB_.PLTF.C012: Found 2 idle states
[    0.450561] ACPI: \_SB_.PLTF.C014: Found 2 idle states
[    0.450629] ACPI: \_SB_.PLTF.C016: Found 2 idle states
[    0.450701] ACPI: \_SB_.PLTF.C001: Found 2 idle states
[    0.450769] ACPI: \_SB_.PLTF.C003: Found 2 idle states
[    0.450839] ACPI: \_SB_.PLTF.C005: Found 2 idle states
[    0.450905] ACPI: \_SB_.PLTF.C007: Found 2 idle states
[    0.450976] ACPI: \_SB_.PLTF.C009: Found 2 idle states
[    0.451043] ACPI: \_SB_.PLTF.C00B: Found 2 idle states
[    0.451091] ACPI: \_SB_.PLTF.C00D: Found 2 idle states
[    0.451159] ACPI: \_SB_.PLTF.C00F: Found 2 idle states
[    0.451232] ACPI: \_SB_.PLTF.C011: Found 2 idle states
[    0.451299] ACPI: \_SB_.PLTF.C013: Found 2 idle states
[    0.451364] ACPI: \_SB_.PLTF.C015: Found 2 idle states
[    0.451431] ACPI: \_SB_.PLTF.C017: Found 2 idle states
[    1.432396] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x6aaaa638e3b, max_idle_ns: 881590585313 ns

I have only 2 idle states. On my Ryzen 5600u laptop i also have C3 , which help preverse a lot of energy.

As long linux cannot recognize the C3 and below states from my BIOS , i dont thing it would work...
 
I know this thread is old, but I can't get amd_pstate to work on my system. I'm running proxmox in uefi mode, but just to be sure I edited both /etc/default/grub and /etc/kernel/cmdline, but no luck with either.
acpi-cpufreq only supports C3 state and I am hoping to get the C-state further down with the amd_pstate driver.

Here is what I've tried/done:
  • change CPPC in BIOS from auto to enable
  • initcall_blacklist=acpi_cpufreq_init amd_pstate=passive amd_pstate.shared_mem=1
  • initcall_blacklist=acpi_cpufreq_init amd_pstate.shared_mem=1
  • amd_pstate=active amd_pstate.shared_mem=1
  • initcall_blacklist=acpi_cpufreq_init amd_pstate=passive
Non of these combinations worked. I ran proxmox-boot-tool refresh after every change before rebooting.

Hardware:
  • Ryzen 5 Pro 4650G (Zen 2)
  • Asus Prime B550 plus
  • 64 GB ECC
  • mirrored boot drive
Proxmox version: pve-manager/8.0.3/bbf3993334bfa916 (running kernel: 6.2.16-5-pve)
 
Last edited:
#cat /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs modprobe.blacklist=acpi_cpufreq intel_pstate=disable amd_pstate.shared_mem=1 amd_pstate=passive

#proxmox-boot-tool refresh

#reboot

#cpupower frequency-info
Code:
analyzing CPU 0:
  driver: amd-pstate
  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: 550 MHz - 4.95 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 550 MHz and 4.95 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 550 MHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    AMD PSTATE Highest Performance: 166. Maximum Frequency: 4.95 GHz.
    AMD PSTATE Nominal Performance: 124. Nominal Frequency: 3.70 GHz.
    AMD PSTATE Lowest Non-linear Performance: 58. Lowest Non-linear Frequency: 1.73 GHz.
    AMD PSTATE Lowest Performance: 19. Lowest Frequency: 550 MHz.

#cat /proc/cpuinfo | grep MHz
Code:
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 559.956
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 550.000
cpu MHz         : 559.592
cpu MHz         : 559.960
cpu MHz         : 550.000
cpu MHz         : 559.906
cpu MHz         : 559.975
cpu MHz         : 550.000
cpu MHz         : 550.000

This works for me... But still no C3 on either Ryzen 5600 and Ryzen 5900x....
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!