cpufreq: amd-pstate: Optimize amd_pstate_update_limits()
Don't take and release the mutex when prefcore isn't present and avoid initialization of variables that will be initially set in the function. Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com> Reviewed-by: Perry Yuan <perry.yuan@amd.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
This commit is contained in:
parent
ad4caad58d
commit
45722e777f
1 changed files with 5 additions and 5 deletions
|
@ -810,17 +810,17 @@ static void amd_pstate_update_limits(unsigned int cpu)
|
||||||
|
|
||||||
cpudata = policy->driver_data;
|
cpudata = policy->driver_data;
|
||||||
|
|
||||||
mutex_lock(&amd_pstate_driver_lock);
|
if (!amd_pstate_prefcore)
|
||||||
if ((!amd_pstate_prefcore) || (!cpudata->hw_prefcore))
|
return;
|
||||||
goto free_cpufreq_put;
|
|
||||||
|
|
||||||
|
mutex_lock(&amd_pstate_driver_lock);
|
||||||
ret = amd_get_highest_perf(cpu, &cur_high);
|
ret = amd_get_highest_perf(cpu, &cur_high);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto free_cpufreq_put;
|
goto free_cpufreq_put;
|
||||||
|
|
||||||
prev_high = READ_ONCE(cpudata->prefcore_ranking);
|
prev_high = READ_ONCE(cpudata->prefcore_ranking);
|
||||||
if (prev_high != cur_high) {
|
highest_perf_changed = (prev_high != cur_high);
|
||||||
highest_perf_changed = true;
|
if (highest_perf_changed) {
|
||||||
WRITE_ONCE(cpudata->prefcore_ranking, cur_high);
|
WRITE_ONCE(cpudata->prefcore_ranking, cur_high);
|
||||||
|
|
||||||
if (cur_high < CPPC_MAX_PERF)
|
if (cur_high < CPPC_MAX_PERF)
|
||||||
|
|
Loading…
Add table
Reference in a new issue