How to enable Turbo Boost on AMD Ryzen 7 5825U with Radeon Graphics (16) @ 1.996GHz ?

It should be automatic.

Or are you talking about overclocking?
in Linux, you can do this. it switches the CPU gov from one to the other with my AMD Ryzen 5 2500U, and it works on Intel cpu's too.

schedutil, ondemand, performance depending on the cpu sys.
Code:
#!/usr/bin/env bash

whatisit="$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)"

if [[ "$whatisit" == 'performance' ]] ;
then
  echo schedutil | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
else
  echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
fi
On FreeBSD that does not work, but me, i have not worried about it enough to figure out if that too can be done by some other method. ,maybe that is what you mean by it does it automatically.

Code:
$ shiftgears
cat: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor: No such file or directory
tee: /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor: No such file or directory
performance
 
It should be automatic.

Or are you talking about overclocking?
Doesn't happen automatically.

Yes, how to overclock?
Code:
root@F3ja:/usr/home/luba # sysctl dev.cpu.0.freq_levels

dev.cpu.0.freq_levels: 2000/2437 1800/1710 1600/1460
but in the specification it says that it can be overclocked to: Max. Boost Clock
Up to 4.5GHz
 
Turbo boost and overclocking are completely different things. Overclocking happens at the BIOS and needs to be supported by the mainboard and BIOS. Has nothing to do with the OS.

Turbo boost happens automatically. Anything above base frequency is directly controlled by the cpu. There is no need or real gain (e.g. energy saving) to adjust CPU frequencies manually or via script nowadays; just enable C-states by setting performance_cx_lowest="Cmax" and economy_cx_lowest="Cmax" and the CPU will send cores to sleep if not used and otherwise run them on 'optimal' or maximum frequencies (or governed/capped by BIOS settings).

For CPUs that have specific frequency steps (i.e. like in your case, visible by multiple values listen for dev.cpu.N.freq_levels, not a single value appended by /-1), a value of "base frequency +1" given by [/cmd]dev.cpu.N.freq[/cmd] means, the CPU has taken over and is running with either max boost clock or anything in between lowest and highest frequency; at least that's the norm for Intel CPUs - I don't have any AMD CPU to check that, but all older Intel CPUs with fixed frequency steps are reporting 'basefreq + 1' for turbo boost.
A quick search for that topic and ryzen suggests that those never report anything higher than base frequency without special drivers, but they *do* engage turbo boost frequencies if all criteria like temperature and avaliable power budgets are met. Again: it is controlled by the CPU itself, not the OS, hence it happens automatically.

What value(s) are shown for dev.cpu.N.freq: on that host? (under load)


You *could* run something like sysutil/powerd or sysutil/powerdxx to adjust the frequencies, but any daemon or driver for that purpose will always be _much_ slower to react than the CPU itself can adjust its C-states. So there is no advantage in power savings by running those on halfway modern CPUs and it's more likely to somewhat degrade overall performance and maybe even increase power usage due to that daemon waking up the cores from deep C-states more than necessary.
 
Doesn't happen automatically.
root@F3ja:/usr/home/luba # sysctl dev.cpu.0.freq_levels
dev.cpu.0.freq_levels: 2000/2437 1800/1710 1600/1460
Don't be so sure.

I also was, mistakenly, under the impression there was no Max Boost on a AMD 5700U available under FreeBSD, but it was. See my posting in thread


Try the pmcstat(8) and yes(1) test from the second code box.
 
Boost clock is something different then Overclock, it means that the CPU can "Boost" one or more cores (but never all) if the TDP (Thermal Design Power) allows it, that is automatically and steered by the CPU itself.

Most (all?) Intel-CPU's can just Boost one Core.

For example if you play a game that runs on three cores/threads (one for AI, one for the physics-engine and one for everything else) and it happens that the Physics-Thread need's 100% of that one core the CPU can boost that single core.

But apart from Boost, DONT overclock that CPU, it's not Approved for overclocking and sits probably in a Laptop, hence the absence of overclocking-options in the UEFI.
 
I use to always want my cpu to be at max speed, so the real question is does it really need to be? Especially because it already has build in speed control to try and make that cpu last longer by not running it at top speeds continuously which created more heat over a longer period of time.

that is what turbo boost is for to give it the extra speed whenever it is needed at a moments notice to keep it from over heating or heat management which in turn allows less stress on the CPU which in turn causes it to last longer.

just someting to think about.
 
I use to always want my cpu to be at max speed, so the real question is does it really need to be? Especially because it already has build in speed control to try and make that cpu last longer by not running it at top speeds continuously which created more heat over a longer period of time.

That's why you should activate C-states. A core that's completely put to sleep won't use power or produce heat; it also doesn't need to adjust its frequency as it is already (electrically) shut down.
I've tested this on several systems, and enabling powerd(xx) to adjust frequencies never had any impact on power consumption if C-states were enabled. C-states however have a dramatic impact on power consumption and temperatures - above 100W dramatic on some systems and easily 30+°C at idle...
 
Back
Top