From: Gautham R.Shenoy <gautham.shenoy@amd.com>
To: Mario Limonciello <mario.limonciello@amd.com>, <perry.yuan@amd.com>
Cc: Linux PM <linux-pm@vger.kernel.org>,
Mario Limonciello <mario.limonciello@amd.com>,
Sibi Sankar <quic_sibis@quicinc.com>,
"Dietmar Eggemann" <dietmar.eggemann@arm.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Dhruva Gole <d-gole@ti.com>, Yipeng Zou <zouyipeng@huawei.com>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>
Subject: Re: [PATCH v14 5/5] cpufreq: Only disable boost during cpu online when using frequency tables
Date: Tue, 25 Jun 2024 17:25:05 +0530 [thread overview]
Message-ID: <877ced2q5i.fsf@BLR-5CG11610CF.amd.com> (raw)
In-Reply-To: <20240624213400.67773-6-mario.limonciello@amd.com>
Hello Mario,
Mario Limonciello <mario.limonciello@amd.com> writes:
> The behavior introduced in commit f37a4d6b4a2c ("cpufreq: Fix per-policy
> boost behavior on SoCs using cpufreq_boost_set_sw()") sets up the boost
> policy incorrectly when boost has been enabled by the platform firmware
> initially even if a driver sets the policy up.
>
> This is because there are no discrete entries in the frequency table.
> Update that code to only run when a frequency table is present.
Thanks for this fix.
There are also drivers such as acpi-cpufreq which have a frequency
table, but the boost Pstates are not advertised. Thus none of the table
entries have CPUFREQ_BOOST_FREQ set.
>
> Fixes: f37a4d6b4a2c ("cpufreq: Fix per-policy boost behavior on SoCs using cpufreq_boost_set_sw()")
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
> Cc: Sibi Sankar <quic_sibis@quicinc.com>
> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: Dhruva Gole <d-gole@ti.com>
> Cc: Yipeng Zou <zouyipeng@huawei.com>
> Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> drivers/cpufreq/cpufreq.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 1fdabb660231..32c119614710 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -1430,7 +1430,8 @@ static int cpufreq_online(unsigned int cpu)
> }
>
> /* Let the per-policy boost flag mirror the cpufreq_driver boost during init */
> - policy->boost_enabled = cpufreq_boost_enabled() && policy_has_boost_freq(policy);
> + if (policy->freq_table)
> + policy->boost_enabled = cpufreq_boost_enabled() && policy_has_boost_freq(policy);
>
> /*
> * The initialization has succeeded and the policy is
> online.
How about something like the following:
---
diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
index 37f1cdf46d29..be5f4d3e9c1d 100644
--- a/drivers/cpufreq/acpi-cpufreq.c
+++ b/drivers/cpufreq/acpi-cpufreq.c
@@ -140,6 +140,7 @@ static int set_boost(struct cpufreq_policy *policy, int val)
pr_debug("CPU %*pbl: Core Boosting %s.\n",
cpumask_pr_args(policy->cpus), str_enabled_disabled(val));
+ policy->boost_enabled = val;
return 0;
}
diff --git a/drivers/cpufreq/freq_table.c b/drivers/cpufreq/freq_table.c
index 10e80d912b8d..f604389b9cd6 100644
--- a/drivers/cpufreq/freq_table.c
+++ b/drivers/cpufreq/freq_table.c
@@ -18,6 +18,10 @@ bool policy_has_boost_freq(struct cpufreq_policy *policy)
{
struct cpufreq_frequency_table *pos, *table = policy->freq_table;
+ /* The driver has explicitly advertised the boost-capabilities */
+ if (policy->boost_enabled)
+ return true;
+
if (!table)
return false;
> --
> 2.43.0
next prev parent reply other threads:[~2024-06-25 11:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-24 21:33 [PATCH v14 0/5] AMD Pstate Driver Core Performance Boost Mario Limonciello
2024-06-24 21:33 ` [PATCH v14 1/5] cpufreq: acpi: move MSR_K7_HWCR_CPB_DIS_BIT into msr-index.h Mario Limonciello
2024-06-24 21:33 ` [PATCH v14 2/5] cpufreq: amd-pstate: initialize core precision boost state Mario Limonciello
2024-06-24 21:33 ` [PATCH v14 3/5] cpufreq: amd-pstate: Cap the CPPC.max_perf to nominal_perf if CPB is off Mario Limonciello
2024-06-24 21:33 ` [PATCH v14 4/5] Documentation: cpufreq: amd-pstate: update doc for Per CPU boost control method Mario Limonciello
2024-06-25 12:03 ` Gautham R.Shenoy
2024-06-24 21:34 ` [PATCH v14 5/5] cpufreq: Only disable boost during cpu online when using frequency tables Mario Limonciello
2024-06-25 6:30 ` Viresh Kumar
2024-06-25 12:31 ` Mario Limonciello
2024-06-26 3:11 ` Viresh Kumar
2024-06-26 3:14 ` Mario Limonciello
2024-06-26 3:17 ` Viresh Kumar
2024-06-26 3:20 ` Mario Limonciello
2024-06-26 3:25 ` Viresh Kumar
2024-06-26 3:27 ` Viresh Kumar
2024-06-26 3:33 ` Mario Limonciello
2024-06-26 3:44 ` Viresh Kumar
2024-06-26 3:46 ` Mario Limonciello
2024-06-25 11:55 ` Gautham R.Shenoy [this message]
2024-06-25 12:32 ` Mario Limonciello
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877ced2q5i.fsf@BLR-5CG11610CF.amd.com \
--to=gautham.shenoy@amd.com \
--cc=d-gole@ti.com \
--cc=dietmar.eggemann@arm.com \
--cc=linux-pm@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=perry.yuan@amd.com \
--cc=quic_sibis@quicinc.com \
--cc=rafael.j.wysocki@intel.com \
--cc=viresh.kumar@linaro.org \
--cc=zouyipeng@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.