]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
cpufreq/amd-pstate: Set the initial min_freq to lowest_nonlinear_freq
authorDhananjay Ugwekar <Dhananjay.Ugwekar@amd.com>
Thu, 17 Oct 2024 05:39:30 +0000 (05:39 +0000)
committerMario Limonciello <mario.limonciello@amd.com>
Mon, 28 Oct 2024 19:54:35 +0000 (14:54 -0500)
commit5d9a354cf839a652f8f6ca2b920696c6a9041801
treec71b1af37cd4872328a2f94e822e172a7024ab3d
parent205cb215d08748fdd8f3fd67bc7aa626d4e278b0
cpufreq/amd-pstate: Set the initial min_freq to lowest_nonlinear_freq

According to the AMD architectural programmer's manual volume 2 [1], in
section "17.6.4.1 CPPC_CAPABILITY_1" lowest_nonlinear_perf is described
as "Reports the most energy efficient performance level (in terms of
performance per watt). Above this threshold, lower performance levels
generally result in increased energy efficiency. Reducing performance
below this threshold does not result in total energy savings for a given
computation, although it reduces instantaneous power consumption". So
lowest_nonlinear_perf is the most power efficient performance level, and
going below that would lead to a worse performance/watt.

Also, setting the minimum frequency to lowest_nonlinear_freq (instead of
lowest_freq) allows the CPU to idle at a higher frequency which leads
to more time being spent in a deeper idle state (as trivial idle tasks
are completed sooner). This has shown a power benefit in some systems,
in other systems, power consumption has increased but so has the
throughput/watt.

Modify the initial policy_data->min set by cpufreq-core to
lowest_nonlinear_freq, in the ->verify() callback. Also set the
cpudata->req[0] to FREQ_QOS_MIN_DEFAULT_VALUE (i.e. 0), so that it also
gets overriden by the check in verify function.

Link: https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24593.pdf
Signed-off-by: Dhananjay Ugwekar <Dhananjay.Ugwekar@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20241017053927.25285-3-Dhananjay.Ugwekar@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
drivers/cpufreq/amd-pstate.c