Re: [PATCH 2/5] sched: idle: Get the next timer event and pass it the cpuidle framework

From: Len Brown
Date: Mon Oct 27 2014 - 21:54:01 EST


Reviewed-by: Len Brown <len.brown@xxxxxxxxx>

On Wed, Oct 22, 2014 at 4:38 PM, Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> wrote:
> On Mon, 20 Oct 2014, Daniel Lezcano wrote:
>
>> Following the logic of the previous patch, retrieve from the idle task the
>> expected timer sleep duration and pass it to the cpuidle framework.
>>
>> Take the opportunity to remove the unused headers in the menu.c file.
>>
>> This patch does not change the current behavior.
>>
>> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
>
> One minor nit below.
>
>> @@ -211,6 +212,12 @@ static void cpu_idle_loop(void)
>> latency_req = pm_qos_request(PM_QOS_CPU_DMA_LATENCY);
>>
>> /*
>> + * The next timer event in us
>> + */
>
> This 3-line comment is redundant. The code is obvious enough on its own.
>
>> + next_timer_event = ktime_to_us(
>> + tick_nohz_get_sleep_length());
>
> I'd suggest this form for better readability:
>
> next_timer_event =
> ktime_to_us(tick_nohz_get_sleep_length());
>
> Other than that...
>
> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
>
>> +
>> + /*
>> * In poll mode we reenable interrupts and spin.
>> *
>> * If the latency req is zero, we don't want to
>> @@ -227,7 +234,8 @@ static void cpu_idle_loop(void)
>> tick_check_broadcast_expired())
>> cpu_idle_poll();
>> else
>> - cpuidle_idle_call(latency_req);
>> + cpuidle_idle_call(latency_req,
>> + next_timer_event);
>>
>> arch_cpu_idle_exit();
>> }
>> --
>> 1.9.1
>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html



--
Len Brown, Intel Open Source Technology Center
--
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/