[PATCH 1/1] arm: kernel: idle loop pm constraints
Russell King - ARM Linux
linux at arm.linux.org.uk
Sat Aug 7 10:14:43 EDT 2010
On Fri, Aug 06, 2010 at 12:17:41PM +0300, Samu Onkalo wrote:
> Check pm qos cpu latency requirements before preparing for pm-idle activities.
> Scheduling is prevented during those operations and interrupt thread serving
> latency in increased. Driver can set pm qos latency requirement to zero to
> indicate extreme tight latency needs.
NAK. This breaks hotplug CPU support.
> while (1) {
> + if (pm_qos_requirement(PM_QOS_CPU_DMA_LATENCY) == 0) {
> + preempt_enable_no_resched();
> + schedule();
> + preempt_disable();
> + continue;
> + }
It's pointless to repeatedly call schedule() if need_resched() is not set -
and the need_resched() check is extremely cheap.
In any case, the parts that you're cutting out are the calls to
leds_event() down to tick_nohz_restart_sched_tick(). Do you know
where the additional latency comes from? Is it the code in the
pm_idle() hook?
More information about the linux-arm-kernel
mailing list