Re: [PATCH V3 2/2] sched: idle: IRQ based next prediction for idle period

From: Shreyas B Prabhu
Date: Tue Feb 23 2016 - 05:08:11 EST




On 02/16/2016 09:13 PM, Daniel Lezcano wrote:
[...]
> + if (index < 0) {
> + /*
> + * No idle callbacks fulfilled the constraints, jump
> + * to the default function like there wasn't any
> + * cpuidle driver.
> + */
> + goto default_idle;
> + } else {
> + /*
> + * Enter the idle state previously returned by the
> + * governor decision. This function will block until
> + * an interrupt occurs and will take care of
> + * re-enabling the local interrupts
> + */
> + return cpuidle_enter(drv, dev, index);

Minor point. You are not calling rcu_idle_exit() in else block. This
should probably be
ret = cpuidle_enter(drv, dev, index);
goto out;

> + }
> +
> +default_idle:
> + default_idle_call();
> +out:
> + rcu_idle_exit();
> + return ret;
> +}
>

Thanks,
Shreyas