On Monday 21 January 2013 07:47 PM, Daniel Lezcano wrote:

Hi All,

I have a question regarding the behavior of cpuidle on pandaboard.

1. cpuidle is enabled

2. The deep idle states seem to be reach

for i in $(find /sys/devices/system/cpu -name "usage"); do echo "$i :
$(cat $i)"; done
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage : 7049
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage : 17
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage : 1341
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage : 6318
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage : 17
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage : 1341

3. Regarding the cpuidle driver code : the "state1" and "state2" are
coupled states where the broadcast timer is used instead of the local
timer. I assume this is because they go down when we reach these idle
states.

Thats correct. Local timer are not wakeup capable and hence we switch
to a wakeup capable broadcast timer.

4. The content of /proc/interrupts shows no broadcast timer used at all.

...
IPI1:          0          0  Timer broadcast interrupts
...

Shouldn't be the broadcast timer used sometimes ? or did I miss something ?

There might be an issue with status updating. Just look for gptimer1
interrupts. if they are incrementing then, broadcast is being used
but just the status update isn't happening some how.

regards
santosh


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to