mbox series

[RFC,6.1.y,0/1] cpufreq: amd-pstate: Enable CPU boost in passive and guided modes

Message ID 20241025010527.491605-1-dev@nalramli.com (mailing list archive)
Headers show
Series cpufreq: amd-pstate: Enable CPU boost in passive and guided modes | expand

Message

Nabil S. Alramli Oct. 25, 2024, 1:05 a.m. UTC
Greetings,

This is a RFC for a maintenance patch to an issue in the amd_pstate driver
where CPU frequency cannot be boosted in passive or guided modes. Without
this patch, AMD machines using stable kernels are unable to get their CPU
frequency boosted, which is a significant performance issue.

For example, on a host that has AMD EPYC 7662 64-Core processor without
this patch running at full CPU load:

$ for i in $(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq); \
  do ni=$(echo "scale=1; $i/1000000" | bc -l); echo "$ni GHz"; done | \
  sort | uniq -c

    128 2.0 GHz

And with this patch:

$ for i in $(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq); \
  do ni=$(echo "scale=1; $i/1000000" | bc -l); echo "$ni GHz"; done | \
  sort | uniq -c

    128 3.3 GHz

I am not sure what the correct process is for submitting patches which
affect only stable trees but not the current code base, and do not apply to
the current tree. As such, I am submitting this directly to stable@, but
please let me know if I should be submitting this elsewhere.

The issue was introduced in v6.1 via commit bedadcfb011f ("cpufreq:
amd-pstate: Fix initial highest_perf value"), and exists in stable kernels
up until v6.6.51.

In v6.6.51, a large change, commit 1ec40a175a48 ("cpufreq: amd-pstate:
Enable amd-pstate preferred core support"), was introduced which
significantly refactored the code. This commit cannot be ported back on its
own, and would require reviewing and cherry picking at least a few dozen of
commits in cpufreq, amd-pstate, ACPI, CPPC.

This means kernels v6.1 up until v6.6.51 are affected by this significant
performance issue, and cannot be easily remediated.

Thank you for your attention and I look forward to your response in regards
to what the best way to proceed is for getting this important performance
fix merged.

Best Regards,

Nabil S. Alramli (1):
  cpufreq: amd-pstate: Enable CPU boost in passive and guided modes

 drivers/cpufreq/amd-pstate.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

Comments

Yuan, Perry Oct. 25, 2024, 3:23 a.m. UTC | #1
[AMD Official Use Only - AMD Internal Distribution Only]

> -----Original Message-----
> From: Nabil S. Alramli <dev@nalramli.com>
> Sent: Friday, October 25, 2024 9:05 AM
> To: stable@vger.kernel.org
> Cc: nalramli@fastly.com; jdamato@fastly.com; khubert@fastly.com; Yuan, Perry
> <Perry.Yuan@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; Huang, Ray
> <Ray.Huang@amd.com>; rafael@kernel.org; viresh.kumar@linaro.org; linux-
> pm@vger.kernel.org; linux-kernel@vger.kernel.org; Nabil S. Alramli
> <dev@nalramli.com>
> Subject: [RFC PATCH 6.1.y 0/1] cpufreq: amd-pstate: Enable CPU boost in passive
> and guided modes
>
> Greetings,
>
> This is a RFC for a maintenance patch to an issue in the amd_pstate driver where
> CPU frequency cannot be boosted in passive or guided modes. Without this patch,
> AMD machines using stable kernels are unable to get their CPU frequency boosted,
> which is a significant performance issue.
>
> For example, on a host that has AMD EPYC 7662 64-Core processor without this
> patch running at full CPU load:
>
> $ for i in $(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq); \
>   do ni=$(echo "scale=1; $i/1000000" | bc -l); echo "$ni GHz"; done | \
>   sort | uniq -c
>
>     128 2.0 GHz
>
> And with this patch:
>
> $ for i in $(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq); \
>   do ni=$(echo "scale=1; $i/1000000" | bc -l); echo "$ni GHz"; done | \
>   sort | uniq -c
>
>     128 3.3 GHz
>
> I am not sure what the correct process is for submitting patches which affect only
> stable trees but not the current code base, and do not apply to the current tree. As
> such, I am submitting this directly to stable@, but please let me know if I should be
> submitting this elsewhere.
>
> The issue was introduced in v6.1 via commit bedadcfb011f ("cpufreq:
> amd-pstate: Fix initial highest_perf value"), and exists in stable kernels up until
> v6.6.51.
>
> In v6.6.51, a large change, commit 1ec40a175a48 ("cpufreq: amd-pstate:
> Enable amd-pstate preferred core support"), was introduced which significantly
> refactored the code. This commit cannot be ported back on its own, and would
> require reviewing and cherry picking at least a few dozen of commits in cpufreq,
> amd-pstate, ACPI, CPPC.
>
> This means kernels v6.1 up until v6.6.51 are affected by this significant
> performance issue, and cannot be easily remediated.
>
> Thank you for your attention and I look forward to your response in regards to what
> the best way to proceed is for getting this important performance fix merged.
>
> Best Regards,
>
> Nabil S. Alramli (1):
>   cpufreq: amd-pstate: Enable CPU boost in passive and guided modes
>
>  drivers/cpufreq/amd-pstate.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
>
> --
> 2.35.1

Add Mario and Gautham for any help.

Perry.