Re: [PATCH 14/21] cpuidle: coupled: don't compare cpu masks unnecessarily

From: Daniel Lezcano
Date: Wed Sep 25 2013 - 18:06:48 EST


On 09/22/2013 03:21 AM, Viresh Kumar wrote:
> In cpuidle_coupled_register_device() we do following:
> if (WARN_ON(!cpumask_equal(&dev->coupled_cpus, &coupled->coupled_cpus)))
> coupled->prevent++;
>
> This is only required to be done when we are using 'coupled' from an existing
> cpuidle_device and not when we have just done this:
>
> coupled->coupled_cpus = dev->coupled_cpus
>
> So, move this compare statement to the right place.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>

Cc'ed Colin Cross.

> ---
> drivers/cpuidle/coupled.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/cpuidle/coupled.c b/drivers/cpuidle/coupled.c
> index e952936..19a89eb 100644
> --- a/drivers/cpuidle/coupled.c
> +++ b/drivers/cpuidle/coupled.c
> @@ -642,6 +642,10 @@ int cpuidle_coupled_register_device(struct cpuidle_device *dev)
> other_dev = per_cpu(cpuidle_devices, cpu);
> if (other_dev && other_dev->coupled) {
> coupled = other_dev->coupled;
> +
> + if (WARN_ON(!cpumask_equal(&dev->coupled_cpus,
> + &coupled->coupled_cpus)))
> + coupled->prevent++;
> goto have_coupled;
> }
> }
> @@ -655,9 +659,6 @@ int cpuidle_coupled_register_device(struct cpuidle_device *dev)
>
> have_coupled:
> dev->coupled = coupled;
> - if (WARN_ON(!cpumask_equal(&dev->coupled_cpus, &coupled->coupled_cpus)))
> - coupled->prevent++;
> -
> cpuidle_coupled_update_online_cpus(coupled);
>
> coupled->refcnt++;
>


--
<http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/