Amd_pstate - latest kernels ( 6.15 or more ) and Zen2

(CPU: AMD Ryzen 7 3700X 8-Core Processor)

Since kernel 6.15 or maybe earlier:
the grub-parameter amd_pstate.shared_mem=1 amd_pstate=active
is needed for clocking down to minimal frequency.
amd_pstate=passive does not change any think (checked with cpu-x)

New driver amd_pstate-epp used by newer kernels afaik…

there many changes on amd-pstate on end 6.14.9 kernel and new series 6.15
can you use : amd-pstate ( no more amd_pstate.share_mem=1 )
UEFI up to date for your UEFI motherboard version
CPPC active

you can without option , you should see
amd-pstate-epp , with scheduler powersave_perfomance

if you try with
amd-pstate=active or passive or guided, you will see older scheduler ( schedutil , balance , perfomance and powersave )

check all cases with

cpupower frequency-info
sudo lscpu -ae

see changes on amd-pstate
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/cpufreq

documentation
https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html#kernel-module-options-for-amd-pstate

see also this topic i you really want lower frequency

1 Like

[the solution is in here]
(Udev rule to lower AMD CPU 'scaling_min_freq' value for kernel 6.13 & up)

I had to alter the min frequency for my CPU

and without amd_pstate
(or amd_pstate.shared_mem=1 amd_pstate=active
or amd_pstate.shared_mem=1 amd_pstate=passive)

==> kernels up from 6.12 (LTS) detect cpu without any GRUB-parameter
and load amd-pstate-epp auto-magicly…

On older LTS-kernels Grub-Parameters are necessary.
I had 5.15 LTS for example, loads acpi-freq whatever I try (normal behavior) :innocent:.

Are you sure that is you set amd_pstate=active it doesn’t enable the new amd_pstate_epp? Because it does here. I need it to be passive to get the classic amd_pstate.

Sure that:
amd_pstate=active DOES enable amd_pstate_epp
even without Grub-Parameter “amd_pstate=active”…

and this
amd-pstate=active ?

I meant, if you set amd_pstate=active, you end up with amd_pstate_epp.
You need amd_pstate=passive if you want amd_pstate.

Yes, that’s my point, and not what I understand you wrote previously.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.