On 6/28/2024 11:18, Diederik de Haas wrote:

I don't think so.  I've never heard of this actually used in a desktop
board.  It's for mobile designs AFAIK.

I can understand that the initial/original goal/target was mobile.
But is there a(ny) technical reason why it couldn't also support 'desktop'
systems?
IIRC and IIUC it does need Zen 3, which my CPU/SoC does.


It needs information about the hardware thermal design to change the correct coefficients.

For example just changing the sPPT or fPPT without the appropriate thermal headroom will cause the SOC to go into thermal throttling prematurely and hurt your performance.

That's why OEMs encode this information in their EC or in the BIOS and advertise it in the PMF ACPI tables what they can do.

Ok. I might be able to convince Asus to add it, but I can also configure my
system to 'modprobe' it on boot up.

Loading it with modprobe doesn't do anything if there is no ACPI device to bind to. It's just like having it compiled into your kernel and it not binding to any device.

Like I said; I've never seen it on a desktop. Because of what it's intended to do in it's current form, I think it's unlikely that it would be added there.


The way that it works is that the OEM will set bits in their BIOS for
that ACPI device indicating which "AMD_PMF" features they support.
That's things like Static Slider, Auto mode, CNQF, Smart PC, slider
notifications.

I have no idea what those things are, but I can research it ...

I think someone with a laptop that supports PMF would be best to confirm
this.  Framework 13 AMD and Framework 16 both support it.

It would be great if someone with such a system can confirm whether it now can/
does work for the original target.


Yeah maybe someone on the Framework forums will be able to confirm it's working now for them. They've been very vocal about it broken in Debian.

But I think everyone and the planet would benefit from a (more) energy efficient
system, regardless if it (normally) runs on batteries or not.
In my case, this system will likely be my NAS, so idle 99(.9)% of the time and
(in the future) on 24/7, so I'm extra motivated to make it consume as little
energy as possible.

Cheers and thanks for your fast response,
   Diederik

Keep in mind PPD does multiple things based on what the hardware advertises support for.

For your system, you are using amd-pstate in active mode. I can see this from your powerprofilesctl output. This will make sure the SoC is properly biased towards efficiency or performance based on your preference.

It will operate under the limitations of the coefficients programmed by the firmware at max load (so you can't change PPT), but when idle it shouldn't consume more power than needed.

There is a kernel patch series coming in kernel 6.11 for "Core performance boost" which will let you turn on/off boost above nominal frequency. You can turn it off, and then CPU cores won't ever go above nominal frequency.

I'm proposing that we would leave boost on for PPD balanced and performance states. For PPD power-saver we would turn it off.

This is merged in the PPD tree and unless anyone complains will be part of the next PPD release.

The other thing that could be really interesting to do for power savings purposes is to put certain tasks only the non-preferred cores or tune EPP towards efficiency on cores running long running tasks that don't need to finish quickly.

In my opinion this is going to open up a lot of potential for sched-ext. and for systemd. Userspace can read the core rankings and when starting up and moving tasks around adjust EPP, boost and which cores tasks run on. It's a lot of complicated work ahead though with a lot of profiling needed.

Reply via email to