forked from mirrors/linux
		
	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…
	
		Reference in a new issue