[PATCH 2/7] cpufreq: amd_pstate: add module parameter to load amd pstate EPP driver

Perry Yuan posted 7 patches 3 years, 6 months ago
There is a newer version of this series
[PATCH 2/7] cpufreq: amd_pstate: add module parameter to load amd pstate EPP driver
Posted by Perry Yuan 3 years, 6 months ago
The amd_pstate mode parameter will allow user to select which amd pstate
working mode as booting mode, amd_pstate instance or amd_pstate_epp instance.

1) amd_pstate instance is depending on the target operation mode.
2) amd_pstate_epp instance is depending on the set_policy operation mode.It
   is also called active mode that AMD SMU has EPP algorithm to control the
   CPU runtime frequency according to the EPP set value and workload.

Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
---
 drivers/cpufreq/amd-pstate.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
index a2463f785322..451295284a26 100644
--- a/drivers/cpufreq/amd-pstate.c
+++ b/drivers/cpufreq/amd-pstate.c
@@ -58,6 +58,12 @@ module_param(shared_mem, bool, 0444);
 MODULE_PARM_DESC(shared_mem,
 		 "enable amd-pstate on processors with shared memory solution (false = disabled (default), true = enabled)");
 
+static bool epp_enabled = true;
+module_param(epp_enabled, bool, 0444);
+MODULE_PARM_DESC(epp_enabled,
+                "load amd_pstate or amd_pstate_epp (true = amd_pstate_epp driver instance (default), false = amd_pstate driver instance)");
+
+
 static struct cpufreq_driver amd_pstate_driver;
 
 /**
-- 
2.34.1
Re: [PATCH 2/7] cpufreq: amd_pstate: add module parameter to load amd pstate EPP driver
Posted by Limonciello, Mario 3 years, 6 months ago
On 9/9/2022 11:45, Perry Yuan wrote:
> The amd_pstate mode parameter will allow user to select which amd pstate
> working mode as booting mode, amd_pstate instance or amd_pstate_epp instance.
> 
> 1) amd_pstate instance is depending on the target operation mode.
> 2) amd_pstate_epp instance is depending on the set_policy operation mode.It
>     is also called active mode that AMD SMU has EPP algorithm to control the
>     CPU runtime frequency according to the EPP set value and workload.
> 
> Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
> ---
>   drivers/cpufreq/amd-pstate.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index a2463f785322..451295284a26 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -58,6 +58,12 @@ module_param(shared_mem, bool, 0444);
>   MODULE_PARM_DESC(shared_mem,
>   		 "enable amd-pstate on processors with shared memory solution (false = disabled (default), true = enabled)");
>   
> +static bool epp_enabled = true;
> +module_param(epp_enabled, bool, 0444);
> +MODULE_PARM_DESC(epp_enabled,
> +                "load amd_pstate or amd_pstate_epp (true = amd_pstate_epp driver instance (default), false = amd_pstate driver instance)");
> +

If you're operating in EPP mode or not the kernel module is still 
'amd-pstate'.  So to a user I think this is a pretty confusing 
designation.

I would propose the following instead:

 > +static bool epp = true;
 > +module_param(epp, bool, 0444);
 > +MODULE_PARM_DESC(epp,
 > +                "Enable energy performance preference (EPP) control");

> +
>   static struct cpufreq_driver amd_pstate_driver;
>   
>   /**
RE: [PATCH 2/7] cpufreq: amd_pstate: add module parameter to load amd pstate EPP driver
Posted by Yuan, Perry 3 years, 6 months ago
[AMD Official Use Only - General]

Hi Mario. 

> -----Original Message-----
> From: Limonciello, Mario <Mario.Limonciello@amd.com>
> Sent: Saturday, September 10, 2022 2:50 AM
> To: Yuan, Perry <Perry.Yuan@amd.com>; rafael.j.wysocki@intel.com; Huang,
> Ray <Ray.Huang@amd.com>; viresh.kumar@linaro.org
> Cc: Sharma, Deepak <Deepak.Sharma@amd.com>; Fontenot, Nathan
> <Nathan.Fontenot@amd.com>; Deucher, Alexander
> <Alexander.Deucher@amd.com>; Su, Jinzhou (Joe) <Jinzhou.Su@amd.com>;
> Huang, Shimmer <Shimmer.Huang@amd.com>; Du, Xiaojian
> <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; linux-
> pm@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 2/7] cpufreq: amd_pstate: add module parameter to
> load amd pstate EPP driver
> 
> On 9/9/2022 11:45, Perry Yuan wrote:
> > The amd_pstate mode parameter will allow user to select which amd
> > pstate working mode as booting mode, amd_pstate instance or
> amd_pstate_epp instance.
> >
> > 1) amd_pstate instance is depending on the target operation mode.
> > 2) amd_pstate_epp instance is depending on the set_policy operation
> mode.It
> >     is also called active mode that AMD SMU has EPP algorithm to control the
> >     CPU runtime frequency according to the EPP set value and workload.
> >
> > Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
> > ---
> >   drivers/cpufreq/amd-pstate.c | 6 ++++++
> >   1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/cpufreq/amd-pstate.c
> > b/drivers/cpufreq/amd-pstate.c index a2463f785322..451295284a26 100644
> > --- a/drivers/cpufreq/amd-pstate.c
> > +++ b/drivers/cpufreq/amd-pstate.c
> > @@ -58,6 +58,12 @@ module_param(shared_mem, bool, 0444);
> >   MODULE_PARM_DESC(shared_mem,
> >   		 "enable amd-pstate on processors with shared memory
> solution
> > (false = disabled (default), true = enabled)");
> >
> > +static bool epp_enabled = true;
> > +module_param(epp_enabled, bool, 0444);
> MODULE_PARM_DESC(epp_enabled,
> > +                "load amd_pstate or amd_pstate_epp (true =
> > +amd_pstate_epp driver instance (default), false = amd_pstate driver
> > +instance)");
> > +
> 
> If you're operating in EPP mode or not the kernel module is still 'amd-pstate'.
> So to a user I think this is a pretty confusing designation.
> 
> I would propose the following instead:
> 
>  > +static bool epp = true;
>  > +module_param(epp, bool, 0444);
>  > +MODULE_PARM_DESC(epp,
>  > +                "Enable energy performance preference (EPP) control");
> 

Make sense to me, get this changed in V2 like you suggested.
Thanks.

> > +
> >   static struct cpufreq_driver amd_pstate_driver;
> >
> >   /**
RE: [PATCH 2/7] cpufreq: amd_pstate: add module parameter to load amd pstate EPP driver
Posted by Yuan, Perry 3 years, 6 months ago
[AMD Official Use Only - General]

HI Mario

> -----Original Message-----
> From: Limonciello, Mario <Mario.Limonciello@amd.com>
> Sent: Saturday, September 10, 2022 2:50 AM
> To: Yuan, Perry <Perry.Yuan@amd.com>; rafael.j.wysocki@intel.com; Huang,
> Ray <Ray.Huang@amd.com>; viresh.kumar@linaro.org
> Cc: Sharma, Deepak <Deepak.Sharma@amd.com>; Fontenot, Nathan
> <Nathan.Fontenot@amd.com>; Deucher, Alexander
> <Alexander.Deucher@amd.com>; Su, Jinzhou (Joe) <Jinzhou.Su@amd.com>;
> Huang, Shimmer <Shimmer.Huang@amd.com>; Du, Xiaojian
> <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; linux-
> pm@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 2/7] cpufreq: amd_pstate: add module parameter to
> load amd pstate EPP driver
> 
> On 9/9/2022 11:45, Perry Yuan wrote:
> > The amd_pstate mode parameter will allow user to select which amd
> > pstate working mode as booting mode, amd_pstate instance or
> amd_pstate_epp instance.
> >
> > 1) amd_pstate instance is depending on the target operation mode.
> > 2) amd_pstate_epp instance is depending on the set_policy operation
> mode.It
> >     is also called active mode that AMD SMU has EPP algorithm to control the
> >     CPU runtime frequency according to the EPP set value and workload.
> >
> > Signed-off-by: Perry Yuan <Perry.Yuan@amd.com>
> > ---
> >   drivers/cpufreq/amd-pstate.c | 6 ++++++
> >   1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/cpufreq/amd-pstate.c
> > b/drivers/cpufreq/amd-pstate.c index a2463f785322..451295284a26 100644
> > --- a/drivers/cpufreq/amd-pstate.c
> > +++ b/drivers/cpufreq/amd-pstate.c
> > @@ -58,6 +58,12 @@ module_param(shared_mem, bool, 0444);
> >   MODULE_PARM_DESC(shared_mem,
> >   		 "enable amd-pstate on processors with shared memory
> solution
> > (false = disabled (default), true = enabled)");
> >
> > +static bool epp_enabled = true;
> > +module_param(epp_enabled, bool, 0444);
> MODULE_PARM_DESC(epp_enabled,
> > +                "load amd_pstate or amd_pstate_epp (true =
> > +amd_pstate_epp driver instance (default), false = amd_pstate driver
> > +instance)");
> > +
> 
> If you're operating in EPP mode or not the kernel module is still 'amd-pstate'.
> So to a user I think this is a pretty confusing designation.
> 
> I would propose the following instead:
> 
>  > +static bool epp = true;
>  > +module_param(epp, bool, 0444);
>  > +MODULE_PARM_DESC(epp,
>  > +                "Enable energy performance preference (EPP) control");
> 
> > +
> >   static struct cpufreq_driver amd_pstate_driver;
> >
> >   /**

Make sense, will make this change in the V2. 
Thanks.

Perry.