lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 19 Jun 2024 03:08:55 +0000
From: "Yuan, Perry" <Perry.Yuan@....com>
To: "Limonciello, Mario" <Mario.Limonciello@....com>,
	"rafael.j.wysocki@...el.com" <rafael.j.wysocki@...el.com>,
	"viresh.kumar@...aro.org" <viresh.kumar@...aro.org>, "Huang, Ray"
	<Ray.Huang@....com>, "Shenoy, Gautham Ranjal" <gautham.shenoy@....com>,
	"Petkov, Borislav" <Borislav.Petkov@....com>
CC: "Deucher, Alexander" <Alexander.Deucher@....com>, "Huang, Shimmer"
	<Shimmer.Huang@....com>, "Du, Xiaojian" <Xiaojian.Du@....com>, "Meng, Li
 (Jassmine)" <Li.Meng@....com>, "linux-pm@...r.kernel.org"
	<linux-pm@...r.kernel.org>, "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v4 10/11] cpufreq: amd-pstate: auto-load pstate driver by
 default

[AMD Official Use Only - AMD Internal Distribution Only]

Hi Mario

> -----Original Message-----
> From: Limonciello, Mario <Mario.Limonciello@....com>
> Sent: Wednesday, June 19, 2024 3:25 AM
> To: Yuan, Perry <Perry.Yuan@....com>; rafael.j.wysocki@...el.com;
> viresh.kumar@...aro.org; Huang, Ray <Ray.Huang@....com>; Shenoy,
> Gautham Ranjal <gautham.shenoy@....com>; Petkov, Borislav
> <Borislav.Petkov@....com>
> Cc: Deucher, Alexander <Alexander.Deucher@....com>; Huang, Shimmer
> <Shimmer.Huang@....com>; Du, Xiaojian <Xiaojian.Du@....com>; Meng,
> Li (Jassmine) <Li.Meng@....com>; linux-pm@...r.kernel.org; linux-
> kernel@...r.kernel.org
> Subject: Re: [PATCH v4 10/11] cpufreq: amd-pstate: auto-load pstate driver by
> default
>
> On 6/17/2024 01:59, Perry Yuan wrote:
> > If the `amd-pstate` driver is not loaded automatically by default, it
> > is because the kernel command line parameter has not been added.
> > To resolve this issue, it is necessary to call the
> > `amd_pstate_set_driver()` function to enable the desired mode
> > (passive/active/guided) before registering the driver instance.
> >
> > This ensures that the driver is loaded correctly without relying on
> > the kernel command line parameter.
> >
> > When there is no parameter added to command line, Kernel config will
> > provide the default mode to load.
> >
> > Meanwhle, user can add driver mode in command line which will override
>
> Meanwhile
>
> > the kernel config default option.
>
> I think you'll probably want to swap the order of patch 10 and patch 11.

Sure, that will be more reasonable to set epp loaded by default for MSR and shared memory systems.
Let me swap them in v5.
Thanks for the review.


>
> >
> > Reported-by: Andrei Amuraritei <andamu@...teo.net>
> > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218705
> > Signed-off-by: Perry Yuan <perry.yuan@....com>
>
> Reviewed-by: Mario Limonciello <mario.limonciello@....com>
>
> > ---
> >   drivers/cpufreq/amd-pstate.c | 24 +++++++++++++++++-------
> >   1 file changed, 17 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/cpufreq/amd-pstate.c
> > b/drivers/cpufreq/amd-pstate.c index cf68343219d1..b48fd60cbc6d
> 100644
> > --- a/drivers/cpufreq/amd-pstate.c
> > +++ b/drivers/cpufreq/amd-pstate.c
> > @@ -1857,8 +1857,13 @@ static int __init amd_pstate_init(void)
> >     /* check if this machine need CPPC quirks */
> >     dmi_check_system(amd_pstate_quirks_table);
> >
> > -   switch (cppc_state) {
> > -   case AMD_PSTATE_UNDEFINED:
> > +   /*
> > +   * determine the driver mode from the command line or kernel
> config.
> > +   * If no command line input is provided, cppc_state will be
> AMD_PSTATE_UNDEFINED.
> > +   * command line options will override the kernel config settings.
> > +   */
> > +
> > +   if (cppc_state == AMD_PSTATE_UNDEFINED) {
> >             /* Disable on the following configs by default:
> >              * 1. Undefined platforms
> >              * 2. Server platforms
> > @@ -1870,15 +1875,20 @@ static int __init amd_pstate_init(void)
> >                     pr_info("driver load is disabled, boot with specific
> mode to enable this\n");
> >                     return -ENODEV;
> >             }
> > -           ret =
> amd_pstate_set_driver(CONFIG_X86_AMD_PSTATE_DEFAULT_MODE);
> > -           if (ret)
> > -                   return ret;
> > -           break;
> > +           /* get driver mode from kernel config option [1:4] */
> > +           cppc_state = CONFIG_X86_AMD_PSTATE_DEFAULT_MODE;
> > +   }
> > +
> > +   switch (cppc_state) {
> >     case AMD_PSTATE_DISABLE:
> > +           pr_info("driver load is disabled, boot with specific mode to
> enable
> > +this\n");
> >             return -ENODEV;
> >     case AMD_PSTATE_PASSIVE:
> >     case AMD_PSTATE_ACTIVE:
> >     case AMD_PSTATE_GUIDED:
> > +           ret = amd_pstate_set_driver(cppc_state);
> > +           if (ret)
> > +                   return ret;
> >             break;
> >     default:
> >             return -EINVAL;
> > @@ -1899,7 +1909,7 @@ static int __init amd_pstate_init(void)
> >     /* enable amd pstate feature */
> >     ret = amd_pstate_enable(true);
> >     if (ret) {
> > -           pr_err("failed to enable with return %d\n", ret);
> > +           pr_err("failed to enable driver mode(%d)\n", cppc_state);
> >             return ret;
> >     }
> >

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ