RE: [PATCH v3 2/8] Documentation: amd-pstate: add EPP profiles introduction

From: Yuan, Perry
Date: Thu Nov 10 2022 - 10:07:58 EST


[AMD Official Use Only - General]

Hi Rafael.

> -----Original Message-----
> From: Rafael J. Wysocki <rafael@xxxxxxxxxx>
> Sent: Thursday, November 10, 2022 10:58 PM
> To: Yuan, Perry <Perry.Yuan@xxxxxxx>
> Cc: rafael.j.wysocki@xxxxxxxxx; Huang, Ray <Ray.Huang@xxxxxxx>;
> viresh.kumar@xxxxxxxxxx; Sharma, Deepak <Deepak.Sharma@xxxxxxx>;
> Limonciello, Mario <Mario.Limonciello@xxxxxxx>; Fontenot, Nathan
> <Nathan.Fontenot@xxxxxxx>; 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 v3 2/8] Documentation: amd-pstate: add EPP profiles
> introduction
>
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
>
>
> On Mon, Nov 7, 2022 at 7:02 PM Perry Yuan <Perry.Yuan@xxxxxxx> wrote:
> >
> > The patch add AMD pstate EPP feature introduction and what EPP
> > preference supported for AMD processors.
> >
> > User can get supported list from
> > energy_performance_available_preferences attribute file, or update
> > current profile to energy_performance_preference file
> >
> > 1) See all EPP profiles
> > $ sudo cat
> >
> /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_pr
> ef
> > erences default performance balance_performance balance_power power
> >
> > 2) Check current EPP profile
> > $ sudo cat
> > /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference
> > performance
> >
> > 3) Set new EPP profile
> > $ sudo bash -c "echo power >
> /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference"
> >
> > Signed-off-by: Perry Yuan <Perry.Yuan@xxxxxxx>
> > ---
> > Documentation/admin-guide/pm/amd-pstate.rst | 19
> +++++++++++++++++++
> > 1 file changed, 19 insertions(+)
> >
> > diff --git a/Documentation/admin-guide/pm/amd-pstate.rst
> > b/Documentation/admin-guide/pm/amd-pstate.rst
> > index 8f3d30c5a0d8..78c6525d5a49 100644
> > --- a/Documentation/admin-guide/pm/amd-pstate.rst
> > +++ b/Documentation/admin-guide/pm/amd-pstate.rst
> > @@ -262,6 +262,25 @@ lowest non-linear performance in `AMD CPPC
> > Performance Capability
> > <perf_cap_>`_.)
> > This attribute is read-only.
> >
> > +``energy_performance_available_preferences``
> > +
> > +All the supported EPP preference could be selected, List of the
> > +strings that can be set to the ``energy_performance_preference``
> > +attribute those different profiles represent different energy vs
> > +efficiency hints provided to low-level firmware however, the
> > +``default`` represents the epp value is set by platform firmware This
> > +attribute is read-only.
> > +
> > +``energy_performance_preference``
> > +
> > +The current energy performance preference can be read from this
> attribute.
> > +and user can change current preference according to energy or
> > +performance needs Please get all support profiles list from
> > +``energy_performance_available_preferences`` attribute, all the
> > +profiles are integer values defined between 0 to 255 when EPP feature
> > +is enabled by platform firmware, if EPP feature is disabled, driver
> > +will ignore the written value This attribute is read-write.
> > +
> > Other performance and frequency values can be read back from
> > ``/sys/devices/system/cpu/cpuX/acpi_cppc/``, see :ref:`cppc_sysfs`.
> >
> > --
>
> So the interface is the same as for intel_pstate AFAICS, which is good,
> because it is all consistent.
>
> However, there is some code duplication introduced in the subsequent
> patches and that may be a problem from the perspective of maintaining that
> consistency in the future.
>
> Have you at least considered introducing a common EPP support header file
> that could be used by both intel_pstate and amd_pstate?

I will send the V4 today, that will change the epp value set and get interface
To be compatible with the Gnome power preference setting sysfs call, I use the same profile names.
But V4 patch will there is no raw_epp support as the suggested by Mario.
I will also think about what else can make as common code in the driver scale.
Thanks for your suggestions.

Perry.