diff mbox series

arm64: topology: Drop the useless update to per-cpu cycles

Message ID 7a171f710cdc0f808a2bfbd7db839c0d265527e7.1607579234.git.viresh.kumar@linaro.org (mailing list archive)
State New, archived
Headers show
Series arm64: topology: Drop the useless update to per-cpu cycles | expand

Commit Message

Viresh Kumar Dec. 10, 2020, 5:47 a.m. UTC
The previous call to update_freq_counters_refs() has already updated the
per-cpu variables, don't overwrite them with the same value again.

Fixes: 4b9cf23c179a ("arm64: wrap and generalise counter read functions")
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 arch/arm64/kernel/topology.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Sudeep Holla Dec. 10, 2020, 9:37 a.m. UTC | #1
On Thu, Dec 10, 2020 at 11:17:40AM +0530, Viresh Kumar wrote:
> The previous call to update_freq_counters_refs() has already updated the
> per-cpu variables, don't overwrite them with the same value again.
>

Good catch!

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Ionela Voinescu Dec. 10, 2020, 9:57 a.m. UTC | #2
On Thursday 10 Dec 2020 at 11:17:40 (+0530), Viresh Kumar wrote:
> The previous call to update_freq_counters_refs() has already updated the
> per-cpu variables, don't overwrite them with the same value again.
> 
> Fixes: 4b9cf23c179a ("arm64: wrap and generalise counter read functions")
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  arch/arm64/kernel/topology.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
> index c8308befdb1e..f6faa697e83e 100644
> --- a/arch/arm64/kernel/topology.c
> +++ b/arch/arm64/kernel/topology.c
> @@ -314,7 +314,7 @@ void topology_scale_freq_tick(void)
>  
>  	if (unlikely(core_cnt <= prev_core_cnt ||
>  		     const_cnt <= prev_const_cnt))
> -		goto store_and_exit;
> +		return;
>  
>  	/*
>  	 *	    /\core    arch_max_freq_scale
> @@ -331,10 +331,6 @@ void topology_scale_freq_tick(void)
>  
>  	scale = min_t(unsigned long, scale, SCHED_CAPACITY_SCALE);
>  	this_cpu_write(freq_scale, (unsigned long)scale);
> -
> -store_and_exit:
> -	this_cpu_write(arch_core_cycles_prev, core_cnt);
> -	this_cpu_write(arch_const_cycles_prev, const_cnt);
>  }

Right, no need for this anymore!

Reviewed-by: Ionela Voinescu <ionela.voinescu@arm.com>

Thank you for the fix,
Ionela.

>  
>  #ifdef CONFIG_ACPI_CPPC_LIB
> -- 
> 2.25.0.rc1.19.g042ed3e048af
>
Viresh Kumar Dec. 11, 2020, 6:48 a.m. UTC | #3
On 10-12-20, 11:17, Viresh Kumar wrote:
> The previous call to update_freq_counters_refs() has already updated the
> per-cpu variables, don't overwrite them with the same value again.
> 
> Fixes: 4b9cf23c179a ("arm64: wrap and generalise counter read functions")
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  arch/arm64/kernel/topology.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
> index c8308befdb1e..f6faa697e83e 100644
> --- a/arch/arm64/kernel/topology.c
> +++ b/arch/arm64/kernel/topology.c
> @@ -314,7 +314,7 @@ void topology_scale_freq_tick(void)
>  
>  	if (unlikely(core_cnt <= prev_core_cnt ||
>  		     const_cnt <= prev_const_cnt))
> -		goto store_and_exit;
> +		return;
>  
>  	/*
>  	 *	    /\core    arch_max_freq_scale
> @@ -331,10 +331,6 @@ void topology_scale_freq_tick(void)
>  
>  	scale = min_t(unsigned long, scale, SCHED_CAPACITY_SCALE);
>  	this_cpu_write(freq_scale, (unsigned long)scale);
> -
> -store_and_exit:
> -	this_cpu_write(arch_core_cycles_prev, core_cnt);
> -	this_cpu_write(arch_const_cycles_prev, const_cnt);
>  }
>  
>  #ifdef CONFIG_ACPI_CPPC_LIB

Catalin: Can you please pick this up for 5.11-rc1, the earlier patch
(from fixes) is already in your tree. Thanks.
Catalin Marinas Dec. 15, 2020, 12:30 p.m. UTC | #4
On Fri, Dec 11, 2020 at 12:18:50PM +0530, Viresh Kumar wrote:
> On 10-12-20, 11:17, Viresh Kumar wrote:
> > The previous call to update_freq_counters_refs() has already updated the
> > per-cpu variables, don't overwrite them with the same value again.
> > 
> > Fixes: 4b9cf23c179a ("arm64: wrap and generalise counter read functions")
> > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> > ---
> >  arch/arm64/kernel/topology.c | 6 +-----
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> > 
> > diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
> > index c8308befdb1e..f6faa697e83e 100644
> > --- a/arch/arm64/kernel/topology.c
> > +++ b/arch/arm64/kernel/topology.c
> > @@ -314,7 +314,7 @@ void topology_scale_freq_tick(void)
> >  
> >  	if (unlikely(core_cnt <= prev_core_cnt ||
> >  		     const_cnt <= prev_const_cnt))
> > -		goto store_and_exit;
> > +		return;
> >  
> >  	/*
> >  	 *	    /\core    arch_max_freq_scale
> > @@ -331,10 +331,6 @@ void topology_scale_freq_tick(void)
> >  
> >  	scale = min_t(unsigned long, scale, SCHED_CAPACITY_SCALE);
> >  	this_cpu_write(freq_scale, (unsigned long)scale);
> > -
> > -store_and_exit:
> > -	this_cpu_write(arch_core_cycles_prev, core_cnt);
> > -	this_cpu_write(arch_const_cycles_prev, const_cnt);
> >  }
> >  
> >  #ifdef CONFIG_ACPI_CPPC_LIB
> 
> Catalin: Can you please pick this up for 5.11-rc1, the earlier patch
> (from fixes) is already in your tree. Thanks.

I will add it to the second pull request this merging window. Thanks.
Catalin Marinas Dec. 15, 2020, 5:44 p.m. UTC | #5
On Thu, 10 Dec 2020 11:17:40 +0530, Viresh Kumar wrote:
> The previous call to update_freq_counters_refs() has already updated the
> per-cpu variables, don't overwrite them with the same value again.

Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: topology: Drop the useless update to per-cpu cycles
      https://git.kernel.org/arm64/c/51550a483606
diff mbox series

Patch

diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
index c8308befdb1e..f6faa697e83e 100644
--- a/arch/arm64/kernel/topology.c
+++ b/arch/arm64/kernel/topology.c
@@ -314,7 +314,7 @@  void topology_scale_freq_tick(void)
 
 	if (unlikely(core_cnt <= prev_core_cnt ||
 		     const_cnt <= prev_const_cnt))
-		goto store_and_exit;
+		return;
 
 	/*
 	 *	    /\core    arch_max_freq_scale
@@ -331,10 +331,6 @@  void topology_scale_freq_tick(void)
 
 	scale = min_t(unsigned long, scale, SCHED_CAPACITY_SCALE);
 	this_cpu_write(freq_scale, (unsigned long)scale);
-
-store_and_exit:
-	this_cpu_write(arch_core_cycles_prev, core_cnt);
-	this_cpu_write(arch_const_cycles_prev, const_cnt);
 }
 
 #ifdef CONFIG_ACPI_CPPC_LIB