[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZfKPy7hlwiYm++AM@BLR-5CG11610CF.amd.com>
Date: Thu, 14 Mar 2024 11:18:59 +0530
From: "Gautham R. Shenoy" <gautham.shenoy@....com>
To: Perry Yuan <perry.yuan@....com>
Cc: rafael.j.wysocki@...el.com, Mario.Limonciello@....com,
viresh.kumar@...aro.org, Ray.Huang@....com, Borislav.Petkov@....com,
Alexander.Deucher@....com, Xinmei.Huang@....com,
Xiaojian.Du@....com, Li.Meng@....com, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 1/6] cpufreq:amd-pstate: fix the nominal freq value set
Hello Perry,
On Wed, Mar 13, 2024 at 05:59:13PM +0800, Perry Yuan wrote:
> Address an untested error where the nominal_freq was returned in KHz
> instead of the correct MHz units, this oversight led to a wrong
> nominal_freq set and resued, it will cause the max frequency of core to
> be initialized with a wrong frequency value.
As I had mentioned in my review comment to v6 [1], cpudata->max_freq,
cpudata->min_freq, cpudata->lowest_non_linear_freq are all in
khz. With this patch, cpudata->nominal_freq will be in mhz.
As Dhananjay confirmed [2], this patch breaks the reporting in
/sys/devices/system/cpu/cpufreq/policyX/*_freq as some of them will be
reported in mhz while some others in khz which breaks the expectation
that all these sysfs values should be reported in khz.
[cpufreq]# grep . *freq
amd_pstate_lowest_nonlinear_freq:1804000 <----- in khz
amd_pstate_max_freq:3514000 <----- in khz
cpuinfo_max_freq:2151 <----- in mhz
cpuinfo_min_freq:400000 <----- in khz
scaling_cur_freq:2151 <----- in mhz
scaling_max_freq:2151 <----- in mhz
scaling_min_freq:2151 <----- in mhz
[cpufreq]# pwd
/sys/devices/system/cpu/cpu0/cpufreq
What am I missing ?
[1] https://lore.kernel.org/lkml/ZcRvoYZKdUEjBUHp@BLR-5CG11610CF.amd.com/)
[2] https://lore.kernel.org/lkml/1aecf2fc-2ea4-46ec-aaf2-0dbbb11b5f8b@amd.com/
>
> Cc: stable@...r.kernel.org
> Fixes: ec437d71db7 ("cpufreq: amd-pstate: Introduce a new AMD P-State driver to support future processors")
> Reviewed-by: Mario Limonciello <mario.limonciello@....com>
> Signed-off-by: Perry Yuan <perry.yuan@....com>
--
Thanks and Regards
gautham.
> ---
> drivers/cpufreq/amd-pstate.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index 2015c9fcc3c9..3faa895b77b7 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -647,8 +647,7 @@ static int amd_get_nominal_freq(struct amd_cpudata *cpudata)
> if (ret)
> return ret;
>
> - /* Switch to khz */
> - return cppc_perf.nominal_freq * 1000;
> + return cppc_perf.nominal_freq;
> }
>
> static int amd_get_lowest_nonlinear_freq(struct amd_cpudata *cpudata)
> --
> 2.34.1
>
Powered by blists - more mailing lists