Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
AMD 8700G CPU Governors
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
rsnfunky
Tux's lil' helper
Tux's lil' helper


Joined: 30 Dec 2007
Posts: 121

PostPosted: Sat Apr 12, 2025 2:56 am    Post subject: AMD 8700G CPU Governors Reply with quote

Hi,

I have an AMD 8700G (A fairly recent processor). I wanted to set the 'OnDemand' Governor.

I had build the Kernel 6.14 and have built all CPU governors:

Code:
-*- CPU Frequency scaling                                                                        │ │ 
  │ │                           [*]   CPU frequency transition statistics                                                        │ │ 
  │ │                                 Default CPUFreq governor (ondemand)  --->                                                  │ │ 
  │ │                           -*-   'performance' governor                                                                     │ │ 
  │ │                           <*>   'powersave' governor                                                                       │ │ 
  │ │                           <*>   'userspace' governor for userspace frequency scaling                                       │ │ 
  │ │                           -*-   'ondemand' cpufreq policy governor                                                         │ │ 
  │ │                           <*>   'conservative' cpufreq governor                                                            │ │ 
  │ │                           -*-   'schedutil' cpufreq policy governor                                                        │ │ 
  │ │                                 *** CPU frequency scaling drivers ***                                                      │ │ 
  │ │                           [ ]   Intel P state control                                                                      │ │ 
  │ │                           <M>   Processor Clocking Control interface driver                                                │ │ 
  │ │                           -*-   AMD Processor P-State driver                                                               │ │ 
  │ │                           (3)     AMD Processor P-State default mode                                                       │ │ 
  │ │                           <M>     selftest for AMD Processor P-State driver                                                │ │ 
  │ │                           <M>   ACPI Processor P-States driver                                                             │ │ 
  │ │                           [*]     Legacy cpb sysfs knob support for AMD CPUs                                               │ │ 
  │ │                           <M>   AMD Opteron/Athlon64 PowerNow!                                                             │ │ 
  │ │                           <M>   AMD frequency sensitivity feedback powersave bias                                          │ │ 
  │ │                           < >   Intel Enhanced SpeedStep (deprecated)                                                      │ │ 
  │ │                           < >   Intel Pentium 4 clock modulation                                                           │ │ 
  │ └───────────────────────────v(+)────────────────────────────────────────


The system shows only 2 CPU Governors Performance and Powersave, whereas all the governors were compiled into the kernel.

Code:
# cpupower frequency-info
analyzing CPU 8:
  driver: amd-pstate-epp
  CPUs which run at the same hardware frequency: 8
  CPUs which need to have their frequency coordinated by software: 8
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 400 MHz - 5.18 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 2.40 GHz and 5.18 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 4.69 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    Boost States: 0
    Total States: 3
    Pstate-P0:  4200MHz
    Pstate-P1:  2200MHz
    Pstate-P2:  1600MHz


How do I get the ondemand governor.
Back to top
View user's profile Send private message
blu3bird
Retired Dev
Retired Dev


Joined: 04 Oct 2003
Posts: 616
Location: Munich, Germany

PostPosted: Sat Apr 12, 2025 8:12 am    Post subject: Reply with quote

A long time ago the kernel/governor would actively managed a CPUs frequency. For instance the ondemand governor would increase/decrease the frequency depending on the systems load. That's probably what you are referring to when you use the term ondemand.

Turns out having the operating system control the CPU frequency doesn't really work that well. It's far better to let the CPU itself control it's own frequency and just have the operating system provide some parameters on how the CPU should do that.

That's what the pstate driver (both amd pstate and intel pstate) does. It does not directly control the CPUs frequency it just provides parameters on how the CPU should operate.

The cpupower program is one way to manage these parameter but since it was designed ages ago and wants to remain compatible with older CPUs it's using terms like governor that are technically incorrect for modern CPUs. You can check out /sys/devices/system/cpu/cpu*/cpufreq for a list of parameters your kernel offers to influence the CPU.

So long story short: Both the powersave and performance "governors" offered by cpupower are ondemand-like governors. One is tailored a bit more for powersaving, the for performance.

* this whole post is over-simplified
_________________
Black Holes are created when God divides by zero!
Back to top
View user's profile Send private message
Ralphred
l33t
l33t


Joined: 31 Dec 2013
Posts: 779

PostPosted: Sat Apr 12, 2025 3:50 pm    Post subject: Reply with quote

Just as an addendum to blu3bird's post: As and avid gamer and user of AMD cpu's, the amd-pstate powersave governor is the first ever non-"performance" governor that doesn't introduce frametime spikes or noticeable periods of lag. When running at full load (when load average is ~= to nproc) there is no difference between the powersave and performance governors AFAICT. Maybe because the maximum boost clocks are applied when the "thermal opportunity" presents itself at times of need, I get a "higher average clock speed for working cores" using powersave than performance.

If you really want to use schedutil you can add amd_pstate=guided on the kernel command line, but that feels like replacing a modern car's ECU with a distributor...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum