[PATCH 2/2] ARM: cpuidle: make arm_cpuidle_suspend() a bit more efficient
Daniel Lezcano
daniel.lezcano at linaro.org
Fri Mar 25 04:52:45 PDT 2016
On 03/24/2016 06:11 AM, Jisheng Zhang wrote:
> Currently, we check cpuidle_ops.suspend every time when entering a
> low-power idle state. But this check could be avoided in this hot path
> by moving it into arm_cpuidle_init() to reduce arm_cpuidle_suspend()
> overhead a bit.
>
> Signed-off-by: Jisheng Zhang <jszhang at marvell.com>
> ---
> arch/arm/kernel/cpuidle.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/kernel/cpuidle.c b/arch/arm/kernel/cpuidle.c
> index f108d8f..bf68d49 100644
> --- a/arch/arm/kernel/cpuidle.c
> +++ b/arch/arm/kernel/cpuidle.c
> @@ -52,13 +52,9 @@ int arm_cpuidle_simple_enter(struct cpuidle_device *dev,
> */
> int arm_cpuidle_suspend(int index)
> {
> - int ret = -EOPNOTSUPP;
> int cpu = smp_processor_id();
>
> - if (cpuidle_ops[cpu].suspend)
> - ret = cpuidle_ops[cpu].suspend(index);
> -
> - return ret;
> + return cpuidle_ops[cpu].suspend(index);
> }
I agree with the optimization but, same comment than the previous patch,
it should be handled in arm_cpuidle_read_ops.
--
<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
More information about the linux-arm-kernel
mailing list