mbox series

[v5,0/8] AMD Pstate Driver Fixes and Improvements

Message ID cover.1718811234.git.perry.yuan@amd.com (mailing list archive)
Headers show
Series AMD Pstate Driver Fixes and Improvements | expand

Message

Yuan, Perry June 19, 2024, 3:40 p.m. UTC
Hello everyone,

This patchset addresses critical issues and enhances performance settings for CPUs
with heterogeneous core types in the AMD pstate driver. 
Specifically, it resolves problems related to calculating the highest performance
and frequency on the latest CPUs with preferred cores. 
Additionally, the patchset includes documentation improvements in amd-pstate.rst,
offering a comprehensive guide covering topics such as recommended reboot requirements
during driver switching, debugging procedures for driver loading failures.

Your feedback and suggestions for improvement are highly appreciated. 
Please review the patches and provide your valuable input.

Thank you.

Best regards,
Perry.

Changes from V4:
 * pick all the RB by and ACk by flags from Mario
 * fix typo for patch #10 in the commit log
 * improve the commit log for shared memory in patch #11
 * drop hetero core type patches into another patchset
 * drop debugging section patch for amd-pstate.rst

Changes from V3:
 * add one new patch to enable shared memory type CPPC by default
 * pick all the RB by and ACk by flags from Mario and Gautham
 * update the patch #7 PPR link with doc id (Boris & Mario)
 * fix the highest perf initialization issue with preferred core check
  for patch #9 (Gautham)
 * rework return core type and commit log for the patch #9 (Mario)
 * address feedback for patch #5 for the debugging suggestions.(Mario)
 * retest the patches on MSR and shared memory type CPPC systems, no regression seen.

Changes from V2:
 * pick review by and ack by flags from Mario and Gautham
 * rebase to latest linux-pm bleeding edge branch
 * fix driver loading block issue for patch 4, make sure the warning will
   not abort the driver loading in case there are some new family/model id.
 * fix the driver loading sequence issue for patch 10, it allows command line
   and kernel config option together. command line will override kconfig option.
 * add back the AMD CPUs with Family ID 19H and Model ID range 0x70 to 0x7f to return
   the highest perf and check others CPU core type in the following codes.
 * run some testing on the local system.
 * move the amd_core_type to amd-pstate.c because of the amd-pstate.h was removed lately.

Changes from V1:
 * drop patch 11 which has been merged in a separate patch. (Mario)
 * fix some typos in commit log and tile (Mario)
 * fix the patch 11 regression issue of kernel command line (Oleksandr Natalenko)
 * pick ack flag for patch 7 (Mario)
 * drop patch 4 which is not recommended for user(Mario)
 * rebase to linux-pm/bleeding-edge branch
 * fix some build warning
 * rework the patch 3 for CPU ID matching(Mario)
 * address feedback for patch 5 (Mario)
 * move the acpi pm profile after got default mode(Mario)

Perry Yuan (8):
  cpufreq: amd-pstate: optimize the initial frequency values
    verification
  cpufreq: amd-pstate: remove unused variable nominal_freq
  cpufreq: amd-pstate: show CPPC debug message if CPPC is not supported
  cpufreq: amd-pstate: add debug message while CPPC is supported and
    disabled by SBIOS
  Documentation: PM: amd-pstate: add guided mode to the Operation mode
  cpufreq: amd-pstate: switch boot_cpu_has() to cpu_feature_enabled()
  cpufreq: amd-pstate: enable shared memory type CPPC by default
  cpufreq: amd-pstate: auto-load pstate driver by default

 Documentation/admin-guide/pm/amd-pstate.rst |   2 +-
 drivers/cpufreq/amd-pstate.c                | 145 +++++++++++++-------
 2 files changed, 95 insertions(+), 52 deletions(-)

Comments

Mario Limonciello June 19, 2024, 5:59 p.m. UTC | #1
On 6/19/2024 10:40, Perry Yuan wrote:
> Hello everyone,
> 
> This patchset addresses critical issues and enhances performance settings for CPUs
> with heterogeneous core types in the AMD pstate driver.

The heterogeneous stuff was dropped from the series so this is no longer 
accurate.  However everything else in the series is good now.

I've applied this to my bleeding-edge branch at 
https://git.kernel.org/pub/scm/linux/kernel/git/superm1/linux.git/log/?h=bleeding-edge 
and will do some more testing on it.  I'll plan to send out a PR next 
week with it to catch 6.11.

Thanks!

> Specifically, it resolves problems related to calculating the highest performance
> and frequency on the latest CPUs with preferred cores.
> Additionally, the patchset includes documentation improvements in amd-pstate.rst,
> offering a comprehensive guide covering topics such as recommended reboot requirements
> during driver switching, debugging procedures for driver loading failures.
> 
> Your feedback and suggestions for improvement are highly appreciated.
> Please review the patches and provide your valuable input.
> 
> Thank you.
> 
> Best regards,
> Perry.
> 
> Changes from V4:
>   * pick all the RB by and ACk by flags from Mario
>   * fix typo for patch #10 in the commit log
>   * improve the commit log for shared memory in patch #11
>   * drop hetero core type patches into another patchset
>   * drop debugging section patch for amd-pstate.rst
> 
> Changes from V3:
>   * add one new patch to enable shared memory type CPPC by default
>   * pick all the RB by and ACk by flags from Mario and Gautham
>   * update the patch #7 PPR link with doc id (Boris & Mario)
>   * fix the highest perf initialization issue with preferred core check
>    for patch #9 (Gautham)
>   * rework return core type and commit log for the patch #9 (Mario)
>   * address feedback for patch #5 for the debugging suggestions.(Mario)
>   * retest the patches on MSR and shared memory type CPPC systems, no regression seen.
> 
> Changes from V2:
>   * pick review by and ack by flags from Mario and Gautham
>   * rebase to latest linux-pm bleeding edge branch
>   * fix driver loading block issue for patch 4, make sure the warning will
>     not abort the driver loading in case there are some new family/model id.
>   * fix the driver loading sequence issue for patch 10, it allows command line
>     and kernel config option together. command line will override kconfig option.
>   * add back the AMD CPUs with Family ID 19H and Model ID range 0x70 to 0x7f to return
>     the highest perf and check others CPU core type in the following codes.
>   * run some testing on the local system.
>   * move the amd_core_type to amd-pstate.c because of the amd-pstate.h was removed lately.
> 
> Changes from V1:
>   * drop patch 11 which has been merged in a separate patch. (Mario)
>   * fix some typos in commit log and tile (Mario)
>   * fix the patch 11 regression issue of kernel command line (Oleksandr Natalenko)
>   * pick ack flag for patch 7 (Mario)
>   * drop patch 4 which is not recommended for user(Mario)
>   * rebase to linux-pm/bleeding-edge branch
>   * fix some build warning
>   * rework the patch 3 for CPU ID matching(Mario)
>   * address feedback for patch 5 (Mario)
>   * move the acpi pm profile after got default mode(Mario)
> 
> Perry Yuan (8):
>    cpufreq: amd-pstate: optimize the initial frequency values
>      verification
>    cpufreq: amd-pstate: remove unused variable nominal_freq
>    cpufreq: amd-pstate: show CPPC debug message if CPPC is not supported
>    cpufreq: amd-pstate: add debug message while CPPC is supported and
>      disabled by SBIOS
>    Documentation: PM: amd-pstate: add guided mode to the Operation mode
>    cpufreq: amd-pstate: switch boot_cpu_has() to cpu_feature_enabled()
>    cpufreq: amd-pstate: enable shared memory type CPPC by default
>    cpufreq: amd-pstate: auto-load pstate driver by default
> 
>   Documentation/admin-guide/pm/amd-pstate.rst |   2 +-
>   drivers/cpufreq/amd-pstate.c                | 145 +++++++++++++-------
>   2 files changed, 95 insertions(+), 52 deletions(-)
>