RE: [PATCH v4 0/7] AMD Pstate Driver Core Performance Boost

From: Yuan, Perry
Date: Thu Mar 14 2024 - 02:13:17 EST


[AMD Official Use Only - General]

> -----Original Message-----
> From: Oleksandr Natalenko <oleksandr@xxxxxxxxxxxxxx>
> Sent: Wednesday, March 13, 2024 10:49 PM
> To: rafael.j.wysocki@xxxxxxxxx; Limonciello, Mario
> <Mario.Limonciello@xxxxxxx>; viresh.kumar@xxxxxxxxxx; Huang, Ray
> <Ray.Huang@xxxxxxx>; Shenoy, Gautham Ranjal
> <gautham.shenoy@xxxxxxx>; Petkov, Borislav <Borislav.Petkov@xxxxxxx>;
> Yuan, Perry <Perry.Yuan@xxxxxxx>
> Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Huang, Shimmer
> <Shimmer.Huang@xxxxxxx>; Du, Xiaojian <Xiaojian.Du@xxxxxxx>; Meng, Li
> (Jassmine) <Li.Meng@xxxxxxx>; linux-pm@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v4 0/7] AMD Pstate Driver Core Performance Boost
>
> On středa 13. března 2024 11:04:37, CET Perry Yuan wrote:
> >
> > Hi all,
> > The patchset series add core performance boost feature for AMD pstate
> > driver including passisve ,guide and active mode support.
> >
> > User can change core frequency boost control with a new sysfs entry:
> >
> > "/sys/devices/system/cpu/amd_pstate/cpb_boost"
> >
> > The legancy boost interface has been removed due to the function
> > conflict with new cpb_boost which can support all modes.
> >
> > 1). enable core boost:
> > $ sudo bash -c "echo 0 > /sys/devices/system/cpu/amd_pstate/cpb_boost"
> > $ lscpu -ae
> > CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ
> > 0 0 0 0 0:0:0:0 yes 4201.0000 400.0000 2983.578
> > 1 0 0 1 1:1:1:0 yes 4201.0000 400.0000 2983.578
> > 2 0 0 2 2:2:2:0 yes 4201.0000 400.0000 2583.855
> > 3 0 0 3 3:3:3:0 yes 4201.0000 400.0000 2983.578
> > 4 0 0 4 4:4:4:0 yes 4201.0000 400.0000 2983.578
> >
> > 2). disabble core boost:
> > $ sudo bash -c "echo 1 > /sys/devices/system/cpu/amd_pstate/cpb_boost"
> > $ lscpu -ae
> > 0 0 0 0 0:0:0:0 yes 5759.0000 400.0000 2983.578
> > 1 0 0 1 1:1:1:0 yes 5759.0000 400.0000 2983.578
> > 2 0 0 2 2:2:2:0 yes 5759.0000 400.0000 2983.578
> > 3 0 0 3 3:3:3:0 yes 5759.0000 400.0000 2983.578
> > 4 0 0 4 4:4:4:0 yes 5759.0000 400.0000 2983.578
> >
> >
> > The patches have been tested with the AMD 7950X processor and many
> > users would like to get core boost control enabled for power saving.
> >
> > If you would like to test this patchset, it needs to apply the
> > patchset based on below one latest version patchset.
> > https://lore.kernel.org/lkml/20240208102122.GAZcSrIkbPJfIExdF6@fat_cra
> > te.local/
> >
> >
> > Perry.
> >
> >
> > Changes from v3:
> > * rebased to linux-pm/bleeding-edge v6.8
> > * rename global to amd_pstate_global_params(Oleksandr Natalenko)
>
> Would appreciate being in Cc: then.

Sure, thanks for your feedback,
Will update Cc list in next version.

Perry.

>
> > * remove comments for boot_supported in amd_pstate.h
> > * fix the compiler warning for amd-pstate-ut.ko
> > * use for_each_online_cpu in cpb_boost_store which fix the null pointer
> > error during testing
> > * fix the max frequency value to be KHz when cpb boost
> > disabled(Gautham R. Shenoy)
> >
> > Changes from v2:
> > * move global struct to amd-pstate.h
> > * fix the amd-pstate-ut with new cpb control interface
> >
> > Changes from v1:
> > * drop suspend/resume fix patch 6/7 because of the fix should be in
> > another fix series instead of CPB feature
> > * move the set_boost remove patch to the last(Mario)
> > * Fix commit info with "Closes:" (Mario)
> > * simplified global.cpb_supported initialization(Mario)
> > * Add guide mode support for CPB control
> > * Fixed some Doc typos and add guide mode info to Doc as well.
> >
> > v1:
> > https://lore.kernel.org/all/cover.1706255676.git.perry.yuan@xxxxxxx/
> > v2:
> > https://lore.kernel.org/lkml/cover.1707047943.git.perry.yuan@xxxxxxx/
> > v3:
> > https://lore.kernel.org/lkml/cover.1707297581.git.perry.yuan@xxxxxxx/
> >
> > Perry Yuan (7):
> > cpufreq: amd-pstate: initialize new core precision boost state
> > cpufreq: amd-pstate: implement cpb_boost sysfs entry for boost control
> > cpufreq: amd-pstate: fix max_perf calculation for amd_get_max_freq()
> > cpufreq: amd-pstate: fix the MSR highest perf will be reset issue
> > while cpb boost off
> > Documentation: cpufreq: amd-pstate: introduce the new cpu boost
> > control method
> > cpufreq: amd-pstate: remove legacy set_boost callback for passive mode
> > cpufreq: amd-pstate-ut: support new cpb boost control interface
> >
> > Documentation/admin-guide/pm/amd-pstate.rst | 11 ++
> > drivers/cpufreq/amd-pstate-ut.c | 2 +-
> > drivers/cpufreq/amd-pstate.c | 157 +++++++++++++++-----
> > include/linux/amd-pstate.h | 16 +-
> > 4 files changed, 149 insertions(+), 37 deletions(-)
> >
> >
>
>
> --
> Oleksandr Natalenko (post-factum)