linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Regression in TEO cpuidle governor between 6.6 and 6.12
@ 2025-11-04  3:36 Reka Norman
  2025-11-04  9:03 ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Reka Norman @ 2025-11-04  3:36 UTC (permalink / raw)
  To: rafael; +Cc: daniel.lezcano, linux-pm, christian.loehle

[-- Attachment #1: Type: text/plain, Size: 1288 bytes --]

Hi,

I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
6.12, when the system is idle it’s spending almost 100% of time in
WFI, compared to about 6% at 6.6. At mainline it has improved compared
to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.

The system is a ChromeOS device with Mediatek MT8196.

Bisecting showed the specific commit which caused the regression is:
4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")

I’ve attached sysfs dumps showing the issue. All were taken a couple
of minutes after boot, with the device having been idle since boot.
The cases tested are:
cpuidle_6_6.txt      = 6.6 kernel
cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline

Summary of the percentage time spent in each state (averaged across CPUs):

|            |   6.6 |  6.12 | mainline |
|------------|------:|------:|---------:|
| WFI        |  6.02 | 99.94 |    56.84 |
| cpuoff     | 11.02 |     0 |     0.65 |
| clusteroff | 82.96 |  0.05 |    42.51 |
| s2idle     |     0 |     0 |        0 |

Any help would be much appreciated. Let me know if there's any other
debugging information I should provide.

Thanks,
Reka

[-- Attachment #2: cpuidle_6_12.txt --]
[-- Type: text/plain, Size: 25119 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:118712793
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:186890
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:3
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:2
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:35342
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:5
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1866558
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:10726
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:18426
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:121714768
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:155647
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1829149
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:71384
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:5
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4032
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:121547673
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:149437
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1826824
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:72058
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2872
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:120788689
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:141451
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1975447
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:72182
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1643
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:120805114
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:142106
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2862245
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:72301
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:2183
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:120299921
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:141700
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2730750
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:72155
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:640
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:120003324
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:146944
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2775816
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:71413
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1077
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:119526244
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:155078
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2930417
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:70199
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:5
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1291
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpuidle/available_governors:ladder menu teo 
/sys/devices/system/cpu/cpuidle/current_driver:psci_idle
/sys/devices/system/cpu/cpuidle/current_governor:teo
/sys/devices/system/cpu/cpuidle/current_governor_ro:teo

[-- Attachment #3: cpuidle_mainline.txt --]
[-- Type: text/plain, Size: 25229 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:153297784
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:228397
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:77
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:63
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:1026597
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:143
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:73
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1891852
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:388815
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:96
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:15216
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:81933861
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:116471
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:84
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:79
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:4031732
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:165
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1401
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1782109
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:72572651
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:3377
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:1564
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:65175924
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:92866
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:13
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:22
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:1006908
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:35
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1190
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1983356
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:91319095
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2956
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:932
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:65298943
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:87025
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:18
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:9
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:835867
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:27
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1268
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2000948
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:91640059
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:2978
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:818
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:26282490
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:41683
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:4
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:12
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:377345
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:16
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:564
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2709697
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:131058933
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:4191
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:2340
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:87302687
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:110928
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:3
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:18
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:639144
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:21
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:1318
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2688427
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:69338406
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:3428
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1274
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:91356333
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:123653
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:2
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:20
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:335062
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:22
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:1566
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2664803
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:64748704
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:4553
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:749
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:141416464
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:185745
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:1
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:3263
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:1
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:804
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2840696
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:14675556
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:1937
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1080
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpuidle/available_governors:ladder menu teo 
/sys/devices/system/cpu/cpuidle/current_driver:psci_idle
/sys/devices/system/cpu/cpuidle/current_governor:teo
/sys/devices/system/cpu/cpuidle/current_governor_ro:teo

[-- Attachment #4: cpuidle_6_6.txt --]
[-- Type: text/plain, Size: 25287 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:14489566
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:60254
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:7188
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:6268
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:693488
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:98488412
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:13670
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:3047
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1248242
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:25354276
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:4672
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:10027152
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:31848
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:256
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:145
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:458193
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:4477786
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:408
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:3176
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1423392
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:127479816
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:7014
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:7948850
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:30990
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:221
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:156
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:474158
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:5386587
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:383
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:2408
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1547529
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:127763712
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:5353
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:7637284
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:32393
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:134
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:98
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:341317
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:4879381
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:232
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1689
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1469492
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:130146869
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:4091
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:2915847
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:20420
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:75
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:105
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:482976
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:1352028
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:185
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:448
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2366729
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:136631202
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:1806
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:4433221
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:22872
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:80
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:166
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:505782
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:2853843
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:251
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:2131
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2294389
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:132837528
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:7637
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:7585893
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:30716
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:106
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:320
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:442375
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:3199457
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:430
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:4186
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2323703
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:128325586
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:9854
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:12382099
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:39820
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:117
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:160
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:300143
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:1762735
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:279
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:5176
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2574098
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:124313874
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:11859
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpuidle/available_governors:ladder menu teo 
/sys/devices/system/cpu/cpuidle/current_driver:psci_idle
/sys/devices/system/cpu/cpuidle/current_governor:teo
/sys/devices/system/cpu/cpuidle/current_governor_ro:teo

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-04  3:36 Regression in TEO cpuidle governor between 6.6 and 6.12 Reka Norman
@ 2025-11-04  9:03 ` Christian Loehle
  2025-11-04 23:24   ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-04  9:03 UTC (permalink / raw)
  To: Reka Norman, rafael; +Cc: daniel.lezcano, linux-pm

On 11/4/25 03:36, Reka Norman wrote:
> Hi,
> 
> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> 6.12, when the system is idle it’s spending almost 100% of time in
> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> 
> The system is a ChromeOS device with Mediatek MT8196.
> 
> Bisecting showed the specific commit which caused the regression is:
> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> 
> I’ve attached sysfs dumps showing the issue. All were taken a couple
> of minutes after boot, with the device having been idle since boot.
> The cases tested are:
> cpuidle_6_6.txt      = 6.6 kernel
> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> 
> Summary of the percentage time spent in each state (averaged across CPUs):
> 
> |            |   6.6 |  6.12 | mainline |
> |------------|------:|------:|---------:|
> | WFI        |  6.02 | 99.94 |    56.84 |
> | cpuoff     | 11.02 |     0 |     0.65 |
> | clusteroff | 82.96 |  0.05 |    42.51 |
> | s2idle     |     0 |     0 |        0 |
> 
> Any help would be much appreciated. Let me know if there's any other
> debugging information I should provide.
> 

That's not good.
If the system is mostly idle (only boot activity but dumps are taken after
~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
than I would've expected?
I noticed that clusteroff and cpuoff have equal residency, which is
obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.

I'm a bit puzzled by your bisect results.
4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
made the intercept logic *less* prone to count (false) intercepts, yet it
seems to count more of them? (resulting in more WFI).
I'll think about it some more, for now of course a trace would be very
helpful. (cpuidle events, ipi_raise, irqs?)
Are there ever any latency constraints set?

FWIW the mainline results look the most reasonable, from a 30000 feet view
anyway:
Cluster	State		above	below	usage	above%	below%
LITTLE	cpuoff-l	~75	~65	~140	23%	20%
LITTLE	clusteroff-l	~800	0	~100	89%	0%
MID	cpuoff-m	~3–4	~15	~20	15%	55%
MID	clusteroff-m	~1300	0	~4000	24%	0%
BIG	cpuoff-b	0	1	1	—	—
BIG	clusteroff-b	~800	0	~1900	30%	0%

(WFI seems mostly the correct choice for little CPUs, that's fine, the energy
savings compared to cpuoff should be marginal anyway.)

Do you mind trying:
13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
on 6.12?

I'd also be curious what this looks like without the intercept logic:

Something like:
-----8<-----


--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -348,71 +348,6 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
                goto end;
        }
 
-       /*
-        * If the sum of the intercepts metric for all of the idle states
-        * shallower than the current candidate one (idx) is greater than the
-        * sum of the intercepts and hits metrics for the candidate state and
-        * all of the deeper states, a shallower idle state is likely to be a
-        * better choice.
-        */
-       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
-               int first_suitable_idx = idx;
-
-               /*
-                * Look for the deepest idle state whose target residency had
-                * not exceeded the idle duration in over a half of the relevant
-                * cases in the past.
-                *
-                * Take the possible duration limitation present if the tick
-                * has been stopped already into account.
-                */
-               intercept_sum = 0;
-
-               for (i = idx - 1; i >= 0; i--) {
-                       struct teo_bin *bin = &cpu_data->state_bins[i];
-
-                       intercept_sum += bin->intercepts;
-
-                       if (2 * intercept_sum > idx_intercept_sum) {
-                               /*
-                                * Use the current state unless it is too
-                                * shallow or disabled, in which case take the
-                                * first enabled state that is deep enough.
-                                */
-                               if (teo_state_ok(i, drv) &&
-                                   !dev->states_usage[i].disable) {
-                                       idx = i;
-                                       break;
-                               }
-                               idx = first_suitable_idx;
-                               break;
-                       }
-
-                       if (dev->states_usage[i].disable)
-                               continue;
-
-                       if (teo_state_ok(i, drv)) {
-                               /*
-                                * The current state is deep enough, but still
-                                * there may be a better one.
-                                */
-                               first_suitable_idx = i;
-                               continue;
-                       }
-
-                       /*
-                        * The current state is too shallow, so if no suitable
-                        * states other than the initial candidate have been
-                        * found, give up (the remaining states to check are
-                        * shallower still), but otherwise the first suitable
-                        * state other than the initial candidate may turn out
-                        * to be preferable.
-                        */
-                       if (first_suitable_idx == idx)
-                               break;
-               }
-       }
-


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-04  9:03 ` Christian Loehle
@ 2025-11-04 23:24   ` Christian Loehle
  2025-11-05  6:22     ` Reka Norman
  2025-11-05 20:48     ` Rafael J. Wysocki
  0 siblings, 2 replies; 48+ messages in thread
From: Christian Loehle @ 2025-11-04 23:24 UTC (permalink / raw)
  To: Reka Norman, rafael; +Cc: daniel.lezcano, linux-pm

On 11/4/25 09:03, Christian Loehle wrote:
> On 11/4/25 03:36, Reka Norman wrote:
>> Hi,
>>
>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>> 6.12, when the system is idle it’s spending almost 100% of time in
>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>
>> The system is a ChromeOS device with Mediatek MT8196.
>>
>> Bisecting showed the specific commit which caused the regression is:
>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>
>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>> of minutes after boot, with the device having been idle since boot.
>> The cases tested are:
>> cpuidle_6_6.txt      = 6.6 kernel
>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>
>> Summary of the percentage time spent in each state (averaged across CPUs):
>>
>> |            |   6.6 |  6.12 | mainline |
>> |------------|------:|------:|---------:|
>> | WFI        |  6.02 | 99.94 |    56.84 |
>> | cpuoff     | 11.02 |     0 |     0.65 |
>> | clusteroff | 82.96 |  0.05 |    42.51 |
>> | s2idle     |     0 |     0 |        0 |
>>
>> Any help would be much appreciated. Let me know if there's any other
>> debugging information I should provide.
>>
> 
> That's not good.
> If the system is mostly idle (only boot activity but dumps are taken after
> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> than I would've expected?
> I noticed that clusteroff and cpuoff have equal residency, which is
> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> 
> I'm a bit puzzled by your bisect results.
> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> made the intercept logic *less* prone to count (false) intercepts, yet it
> seems to count more of them? (resulting in more WFI).
> I'll think about it some more, for now of course a trace would be very
> helpful. (cpuidle events, ipi_raise, irqs?)
> Are there ever any latency constraints set?
> 
> FWIW the mainline results look the most reasonable, from a 30000 feet view
> anyway:
> Cluster	State		above	below	usage	above%	below%
> LITTLE	cpuoff-l	~75	~65	~140	23%	20%
> LITTLE	clusteroff-l	~800	0	~100	89%	0%
> MID	cpuoff-m	~3–4	~15	~20	15%	55%
> MID	clusteroff-m	~1300	0	~4000	24%	0%
> BIG	cpuoff-b	0	1	1	—	—
> BIG	clusteroff-b	~800	0	~1900	30%	0%
> 
> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> savings compared to cpuoff should be marginal anyway.)
> 
> Do you mind trying:
> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> on 6.12?
> 

So just thinking out loud, the only case I can actually thing of to explain your
bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
is that the workload essentially changed dramatically because of our calls
to tick_nohz_get_sleep_length() now.
I'm not sure how likely I think that is, but I'm lacking imagination for another
cause. That's why results with 
13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
would be interesting.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-04 23:24   ` Christian Loehle
@ 2025-11-05  6:22     ` Reka Norman
  2025-11-05 22:47       ` Christian Loehle
  2025-11-05 20:48     ` Rafael J. Wysocki
  1 sibling, 1 reply; 48+ messages in thread
From: Reka Norman @ 2025-11-05  6:22 UTC (permalink / raw)
  To: Christian Loehle; +Cc: rafael, daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 4819 bytes --]

On Wed, Nov 5, 2025 at 10:24 AM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/4/25 09:03, Christian Loehle wrote:
> > On 11/4/25 03:36, Reka Norman wrote:
> >> Hi,
> >>
> >> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> >> 6.12, when the system is idle it’s spending almost 100% of time in
> >> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> >> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> >>
> >> The system is a ChromeOS device with Mediatek MT8196.
> >>
> >> Bisecting showed the specific commit which caused the regression is:
> >> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>
> >> I’ve attached sysfs dumps showing the issue. All were taken a couple
> >> of minutes after boot, with the device having been idle since boot.
> >> The cases tested are:
> >> cpuidle_6_6.txt      = 6.6 kernel
> >> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> >> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> >>
> >> Summary of the percentage time spent in each state (averaged across CPUs):
> >>
> >> |            |   6.6 |  6.12 | mainline |
> >> |------------|------:|------:|---------:|
> >> | WFI        |  6.02 | 99.94 |    56.84 |
> >> | cpuoff     | 11.02 |     0 |     0.65 |
> >> | clusteroff | 82.96 |  0.05 |    42.51 |
> >> | s2idle     |     0 |     0 |        0 |
> >>
> >> Any help would be much appreciated. Let me know if there's any other
> >> debugging information I should provide.
> >>
> >
> > That's not good.
> > If the system is mostly idle (only boot activity but dumps are taken after
> > ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> > than I would've expected?

Sorry, I just realised those dumps were taken at the login screen,
which is doing some animation. The new data is all from the home
screen, which should be more idle. I also attached before and after
dumps to eliminate boot activity. Now it’s more like 2% WFI at 6.6.

> > I noticed that clusteroff and cpuoff have equal residency, which is
> > obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> >
> > I'm a bit puzzled by your bisect results.
> > 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > made the intercept logic *less* prone to count (false) intercepts, yet it
> > seems to count more of them? (resulting in more WFI).
> > I'll think about it some more, for now of course a trace would be very
> > helpful. (cpuidle events, ipi_raise, irqs?)

Traces attached.

> > Are there ever any latency constraints set?

Could you explain how I can tell? (I can’t see anything in our
codebase obviously setting cpu_dma_latency or
pm_qos_resume_latency_us, but I’m guessing that’s not conclusive.)

> >
> > FWIW the mainline results look the most reasonable, from a 30000 feet view
> > anyway:
> > Cluster       State           above   below   usage   above%  below%
> > LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> > LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> > MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> > MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> > BIG   cpuoff-b        0       1       1       —       —
> > BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> >
> > (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> > savings compared to cpuoff should be marginal anyway.)
> >
> > Do you mind trying:
> > 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> > on 6.12?
> >
>
> So just thinking out loud, the only case I can actually thing of to explain your
> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> is that the workload essentially changed dramatically because of our calls
> to tick_nohz_get_sleep_length() now.
> I'm not sure how likely I think that is, but I'm lacking imagination for another
> cause. That's why results with
> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> would be interesting.

I'm not completely sure whether I resolved the conflicts correctly. So
if anything seems off about the results, would you mind sharing a
ported patch I can try?

I've attached sysfs dumps and traces for 6.6, 6.12 and mainline as
before (which should be more idle this time), as well as:
6_12_patch            = 6.12 with 13ed5c4a6d9c “cpuidle: teo: Skip
getting the sleep length if wakeups are very frequent”
6_12_no_intercept     = 6.12 with intercept logic removed
mainline_no_intercept = mainline with intercept logic removed

[-- Attachment #2: sysfs_6_6_before.txt --]
[-- Type: text/plain, Size: 25109 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:48831665
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:195440
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:27434
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:29908
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:710816
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:542616610
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:58064
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:16058
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1202268
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:561405864
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:41220
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:172
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:32646869
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:119512
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:1827
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:746
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:449718
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:34189386
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:2594
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:7261
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1514928
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:1094421313
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:25023
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:3
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:30546705
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:117529
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:1457
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:616
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:396796
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:26413027
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:2091
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:7045
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1654404
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:1104773956
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:21290
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:29944475
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:117735
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:1458
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:905
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:302016
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:64801337
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:2382
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:6266
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1733320
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:1069524446
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:17554
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:16743051
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:106339
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:810
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:947
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:479695
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:43922027
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:1777
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:3087
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2341627
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:1107374994
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:7249
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:202
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:16654067
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:105653
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:737
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:859
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:570396
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:29012377
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:1616
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:3325
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2216412
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:1122916392
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:9120
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:452
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:18879959
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:110578
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:805
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:939
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:366354
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:28173978
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:1760
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:5081
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2357696
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:1119707864
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:13734
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:21903968
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:91625
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:982
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:1160
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:346268
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:37872193
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:2153
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:6074
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2479769
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:1101524353
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:19058
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #3: sysfs_6_6_after.txt --]
[-- Type: text/plain, Size: 25110 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:49998465
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:198646
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:27608
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:30172
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:710823
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:549465318
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:58504
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:16638
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1202279
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:585128458
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:42760
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:172
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:33275061
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:121561
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:1919
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:772
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:449724
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:35678018
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:2712
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:7461
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1514931
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:1124470217
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:25682
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:3
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:31972044
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:120302
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:1530
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:628
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:396796
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:27173994
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:2176
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:7393
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1654414
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:1134646428
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:21998
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:30626995
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:119733
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:1502
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:932
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:302024
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:67307514
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:2454
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:6592
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1733326
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:1098587331
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:18126
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:17040661
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:107580
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:836
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:974
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:479696
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:47798535
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:1830
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:3166
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2341630
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:1135041227
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:7444
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:202
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:16938147
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:106874
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:765
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:888
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:570403
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:32395873
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:1674
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:3396
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2216413
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:1151162490
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:9291
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:452
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:19164148
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:111799
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:833
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:967
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:366362
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:30635650
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:1817
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:5154
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2357698
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:1149183943
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:13967
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:22280002
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:92993
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:1024
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:1200
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:346274
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:40551322
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:2235
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:6173
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2479772
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:1130649347
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:19473
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #4: sysfs_6_12_before.txt --]
[-- Type: text/plain, Size: 24882 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:242101398
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:296893
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:2
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:3
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:41968
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:5
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1972202
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:3096
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:1
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:12267
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:244900903
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:281405
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2036815
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:46057
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:2678
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:245409534
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:290141
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1819934
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:46081
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:688
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:246070245
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:282026
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1917310
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:46089
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1968
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:246226906
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:280031
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2656053
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:46116
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:2031
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:246357359
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:283083
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2668236
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:46132
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:3729
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:245873147
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:278730
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2767186
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:45874
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1728
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:243524290
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:267491
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2844150
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:45954
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:451
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #5: sysfs_6_12_after.txt --]
[-- Type: text/plain, Size: 24882 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:273849365
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:333260
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:2
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:3
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:41968
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:5
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1972202
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:3096
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:1
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:12267
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:276729425
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:316382
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2036815
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:46057
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:2678
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:277262091
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:324747
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1819934
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:46081
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:688
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:278161059
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:316172
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1917310
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:46089
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1968
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:278520557
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:314156
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2656053
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:46116
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:2031
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:278657022
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:317321
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2668236
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:46132
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:3729
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:278207855
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:312996
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2767186
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:45874
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1728
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:275885243
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:301663
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2844150
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:45954
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:451
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #6: sysfs_6_12_no_intercept_after.txt --]
[-- Type: text/plain, Size: 24934 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:3335065
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:15758
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:13623
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2193017
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:206759977
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:22714
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:11687
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:5448294
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:16617
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:6881
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2276792
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:205157145
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:9719
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4249
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:6169659
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:27136
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:5588
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2015482
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:207888450
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:8837
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:1805
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:4915911
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:17632
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:6147
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2113169
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:208295485
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:7949
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2173
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:995036
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:9900
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:4679
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3294885
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:209847277
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:5699
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1554
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:1200719
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:9569
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:3868
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3176858
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:209575006
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:5014
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1224
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:1267447
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:7311
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:4458
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3163193
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:209035703
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:5703
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:3802
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:1175630
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:7102
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:3972
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2989097
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:209091752
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:5768
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1095
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #7: sysfs_6_12_no_intercept_before.txt --]
[-- Type: text/plain, Size: 24934 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:3219456
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:15585
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:12139
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2192965
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:174571984
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:20049
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:11687
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:4172228
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:15982
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:6130
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2276777
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:174289255
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:8543
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4249
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:5997234
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:26875
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:4643
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2015468
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:175687808
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:7429
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:1805
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:4833347
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:17560
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:5081
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2113157
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:175907651
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:6667
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2173
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:985058
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:9875
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:4188
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3294862
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:177316234
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:5093
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1554
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:1179651
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:9477
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:3425
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3176796
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:176784338
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:4436
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1224
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:1207883
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:7183
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:3992
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3163192
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:176818575
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:5091
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:3802
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:1155217
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:7055
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:3572
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2989088
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:176552501
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:5173
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1095
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #8: sysfs_6_12_patch_after.txt --]
[-- Type: text/plain, Size: 25031 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:15433560
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:67771
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:6700
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:9371
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:123
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:188329782
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:16250
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:5748
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1987997
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:293673669
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:17851
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:13380
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:16309462
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:82148
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:201
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:103
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:14
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:4910513
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:307
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:3606
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1981571
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:480587343
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:10469
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4474
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:17347391
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:87971
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:98
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:51
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:10
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:3862679
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:152
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:3013
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1728795
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:484649717
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:8866
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:3846
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:13655099
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:78094
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:90
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:27
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:10
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:2750683
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:118
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:2718
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1982829
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:487210477
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:6247
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:628
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:8214099
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:67745
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:41
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:18
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:457147
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:60
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1485
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2817307
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:494147366
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:3753
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1646
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:8077704
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:66273
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:52
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:21
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:9
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:595255
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:75
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:1876
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2751931
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:495212219
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:6236
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2432
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:8343270
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:66064
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:51
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:32
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:12
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1596800
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:83
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:1667
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2748210
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:493939315
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:4489
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1754
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:8298694
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:62365
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:48
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:22
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:14
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:879217
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:70
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1945
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2896144
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:491271864
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:5797
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:692
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #9: sysfs_6_12_patch_before.txt --]
[-- Type: text/plain, Size: 25023 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:14817357
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:66240
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:6611
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:9142
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:121
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:182014051
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:15929
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:5203
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1987959
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:268448453
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:16327
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:13380
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:15637729
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:79887
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:189
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:96
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:9
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:4381916
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:288
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:3267
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1981564
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:449509708
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:9809
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4474
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:16662143
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:86061
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:89
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:49
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:3808472
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:141
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:2687
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1728792
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:452941047
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:8186
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:3846
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:12434256
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:75923
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:68
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:27
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:5
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:2742446
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:96
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:2405
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1982822
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:456002508
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:5738
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:628
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:7961084
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:66415
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:29
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:18
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:453175
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:48
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1414
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2817302
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:462132462
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:3582
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1646
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:7832358
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:64970
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:33
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:19
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:5
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:316772
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:54
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:1781
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2751931
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:463148443
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:5898
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2432
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:8079295
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:64648
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:33
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:31
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:7
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1318047
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:64
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:1584
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2748209
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:461575974
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:4260
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1754
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:8016558
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:61030
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:31
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:21
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:9
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:771520
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:52
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1850
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2896138
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:459535659
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:5507
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:692
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #10: sysfs_mainline_after.txt --]
[-- Type: text/plain, Size: 25014 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:194389477
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:279319
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:215
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:230
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:12
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:5645073
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:448
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:428
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1744566
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:16496543
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:1123
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:24763
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:82090268
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:120454
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:74
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:75
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:4876735
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:151
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1183
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1905809
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:130414430
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:3149
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:2360
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:71237722
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:116975
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:32
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:63
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:2
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:6789626
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:97
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1049
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1948807
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:140053940
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2935
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2757
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:57225425
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:102538
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:14
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:19
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:1438866
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:33
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:885
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1893531
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:160347205
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:2579
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2422
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:31919003
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:64039
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:3
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:13
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:1146399
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:17
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:364
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2840723
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:185263516
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2560
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1291
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:60376840
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:96227
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:7
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:4
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:80070
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:11
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:394
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2800004
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:158067033
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:1120
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:3729
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:61351541
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:101346
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:20
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:10
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:233447
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:30
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:527
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2754404
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:156105206
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:1315
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:2497
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:68246829
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:109462
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:17
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:6
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:5
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:368543
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:23
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:530
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2854338
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:147102534
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2490
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1074
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #11: sysfs_mainline_before.txt --]
[-- Type: text/plain, Size: 25002 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:170071973
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:250097
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:204
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:166
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:11
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:3949308
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:373
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:340
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1744556
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:10557444
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:787
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:24763
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:75800739
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:113007
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:55
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:58
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:3218387
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:114
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1049
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:1905800
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:106260868
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:2687
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:2360
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:66114487
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:109790
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:22
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:48
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:5213198
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:72
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:946
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1948801
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:114429316
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2557
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2757
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:52849986
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:96026
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:11
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:16
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:1311528
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:27
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:812
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1893528
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:132491737
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:2270
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2422
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:29569111
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:60130
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:2
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:10
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:961277
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:13
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:318
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:2840723
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:155310568
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2335
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1291
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:57310343
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:91698
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:1
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:2
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:43587
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:3
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:331
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:2800003
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:128625244
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:964
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:3729
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:58263446
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:96759
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:1
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:7
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:185538
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:8
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:466
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:2754399
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:127496677
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:1163
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:2497
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:64810798
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:104445
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:4
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:350634
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:4
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:435
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2854336
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:118005779
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2060
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1074
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #12: sysfs_mainline_no_intercept_after.txt --]
[-- Type: text/plain, Size: 24938 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:4602381
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:14692
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:21886
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2099678
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:277655758
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:34565
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:14711
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:5094730
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:22012
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:10713
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2107517
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:279516643
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:14482
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:3310
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:6395031
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:22295
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:9767
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1982296
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:280695193
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:12634
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:3881
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:5793172
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:21548
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:8489
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2062747
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:280788953
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:10895
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2365
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:1249630
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:10630
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:6897
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3160467
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:283714077
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:8357
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:2133
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:949814
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:8203
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:6790
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3067491
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:284355999
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:8130
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2054
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:1427576
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:9093
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:6411
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3074737
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:283329157
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:8177
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:2019
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:991591
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:5407
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:6800
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:3054806
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:281326957
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:9794
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1478
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #13: sysfs_mainline_no_intercept_before.txt --]
[-- Type: text/plain, Size: 24936 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:3448322
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:14112
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:19644
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2099640
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:246652973
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:30944
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:14711
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:4851302
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:21775
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:9471
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2107504
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:247583989
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:12802
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:3310
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:6257112
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:22130
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:8612
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1982276
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:248686880
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:11136
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:3881
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:5713435
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:21423
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:7539
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2062733
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:248434039
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:9687
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2365
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:1232324
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:10586
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:6323
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3160465
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:251213489
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:7628
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:2133
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:941164
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:8176
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:6218
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3067490
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:251879614
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:7430
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2054
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:1405419
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:9002
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:5832
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3074734
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:250363726
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:7427
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:2019
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:959773
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:5339
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:6086
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:3054798
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:248869332
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:8792
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1478
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #14: trace_6_6.dat --]
[-- Type: application/octet-stream, Size: 1108760 bytes --]

[-- Attachment #15: trace_6_12.dat --]
[-- Type: application/octet-stream, Size: 2942943 bytes --]

[-- Attachment #16: trace_6_12_no_intercept.dat --]
[-- Type: application/octet-stream, Size: 963254 bytes --]

[-- Attachment #17: trace_6_12_patch.dat --]
[-- Type: application/octet-stream, Size: 1044194 bytes --]

[-- Attachment #18: trace_mainline.dat --]
[-- Type: application/octet-stream, Size: 1535886 bytes --]

[-- Attachment #19: trace_mainline_no_intercept.dat --]
[-- Type: application/octet-stream, Size: 1025664 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-04 23:24   ` Christian Loehle
  2025-11-05  6:22     ` Reka Norman
@ 2025-11-05 20:48     ` Rafael J. Wysocki
  2025-11-06 11:13       ` Christian Loehle
  1 sibling, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-05 20:48 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Reka Norman, rafael, daniel.lezcano, linux-pm

On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/4/25 09:03, Christian Loehle wrote:
> > On 11/4/25 03:36, Reka Norman wrote:
> >> Hi,
> >>
> >> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> >> 6.12, when the system is idle it’s spending almost 100% of time in
> >> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> >> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> >>
> >> The system is a ChromeOS device with Mediatek MT8196.
> >>
> >> Bisecting showed the specific commit which caused the regression is:
> >> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>
> >> I’ve attached sysfs dumps showing the issue. All were taken a couple
> >> of minutes after boot, with the device having been idle since boot.
> >> The cases tested are:
> >> cpuidle_6_6.txt      = 6.6 kernel
> >> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> >> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> >>
> >> Summary of the percentage time spent in each state (averaged across CPUs):
> >>
> >> |            |   6.6 |  6.12 | mainline |
> >> |------------|------:|------:|---------:|
> >> | WFI        |  6.02 | 99.94 |    56.84 |
> >> | cpuoff     | 11.02 |     0 |     0.65 |
> >> | clusteroff | 82.96 |  0.05 |    42.51 |
> >> | s2idle     |     0 |     0 |        0 |
> >>
> >> Any help would be much appreciated. Let me know if there's any other
> >> debugging information I should provide.
> >>
> >
> > That's not good.
> > If the system is mostly idle (only boot activity but dumps are taken after
> > ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> > than I would've expected?
> > I noticed that clusteroff and cpuoff have equal residency, which is
> > obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> >
> > I'm a bit puzzled by your bisect results.
> > 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > made the intercept logic *less* prone to count (false) intercepts, yet it
> > seems to count more of them? (resulting in more WFI).
> > I'll think about it some more, for now of course a trace would be very
> > helpful. (cpuidle events, ipi_raise, irqs?)
> > Are there ever any latency constraints set?
> >
> > FWIW the mainline results look the most reasonable, from a 30000 feet view
> > anyway:
> > Cluster       State           above   below   usage   above%  below%
> > LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> > LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> > MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> > MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> > BIG   cpuoff-b        0       1       1       —       —
> > BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> >
> > (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> > savings compared to cpuoff should be marginal anyway.)
> >
> > Do you mind trying:
> > 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> > on 6.12?
> >
>
> So just thinking out loud, the only case I can actually thing of to explain your
> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> is that the workload essentially changed dramatically because of our calls
> to tick_nohz_get_sleep_length() now.
> I'm not sure how likely I think that is, but I'm lacking imagination for another
> cause. That's why results with
> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> would be interesting.

My current theory is that this issue is related to the
tick_nohz_get_sleep_length() overhead and the way "intercepts" are
distinguished from "hits" in teo.

Namely, teo assumes that its own overhead is negligible and so it
counts a given event as an "intercept" if the measured time spent in
the idle state (with the exit latency roughly taken into account)
falls into a different "state bin" than the sleep length (the expected
time till the next timer).  However, the sleep length is computed as a
difference between the upcoming timer wakeup event time and
ts->idle_entrytime, so it actually includes the time taken by
tick_nohz_next_event().  If the latter is significant, it may
contribute to the difference seen by teo_update() and cause extra
"intercepts" to appear.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-05  6:22     ` Reka Norman
@ 2025-11-05 22:47       ` Christian Loehle
  2025-11-06 15:21         ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-05 22:47 UTC (permalink / raw)
  To: Reka Norman; +Cc: rafael, daniel.lezcano, linux-pm

On 11/5/25 06:22, Reka Norman wrote:
> On Wed, Nov 5, 2025 at 10:24 AM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/4/25 09:03, Christian Loehle wrote:
>>> On 11/4/25 03:36, Reka Norman wrote:
>>>> Hi,
>>>>
>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>>>> 6.12, when the system is idle it’s spending almost 100% of time in
>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>>>
>>>> The system is a ChromeOS device with Mediatek MT8196.
>>>>
>>>> Bisecting showed the specific commit which caused the regression is:
>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>
>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>>>> of minutes after boot, with the device having been idle since boot.
>>>> The cases tested are:
>>>> cpuidle_6_6.txt      = 6.6 kernel
>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>>>
>>>> Summary of the percentage time spent in each state (averaged across CPUs):
>>>>
>>>> |            |   6.6 |  6.12 | mainline |
>>>> |------------|------:|------:|---------:|
>>>> | WFI        |  6.02 | 99.94 |    56.84 |
>>>> | cpuoff     | 11.02 |     0 |     0.65 |
>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
>>>> | s2idle     |     0 |     0 |        0 |
>>>>
>>>> Any help would be much appreciated. Let me know if there's any other
>>>> debugging information I should provide.
>>>>
>>>
>>> That's not good.
>>> If the system is mostly idle (only boot activity but dumps are taken after
>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
>>> than I would've expected?
> 
> Sorry, I just realised those dumps were taken at the login screen,
> which is doing some animation. The new data is all from the home
> screen, which should be more idle. I also attached before and after
> dumps to eliminate boot activity. Now it’s more like 2% WFI at 6.6.
> 
>>> I noticed that clusteroff and cpuoff have equal residency, which is
>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
>>>
>>> I'm a bit puzzled by your bisect results.
>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>> made the intercept logic *less* prone to count (false) intercepts, yet it
>>> seems to count more of them? (resulting in more WFI).
>>> I'll think about it some more, for now of course a trace would be very
>>> helpful. (cpuidle events, ipi_raise, irqs?)
> 
> Traces attached.
> 
>>> Are there ever any latency constraints set?
> 
> Could you explain how I can tell? (I can’t see anything in our
> codebase obviously setting cpu_dma_latency or
> pm_qos_resume_latency_us, but I’m guessing that’s not conclusive.)
> 
>>>
>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
>>> anyway:
>>> Cluster       State           above   below   usage   above%  below%
>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
>>> BIG   cpuoff-b        0       1       1       —       —
>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
>>>
>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
>>> savings compared to cpuoff should be marginal anyway.)
>>>
>>> Do you mind trying:
>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
>>> on 6.12?
>>>
>>
>> So just thinking out loud, the only case I can actually thing of to explain your
>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>> is that the workload essentially changed dramatically because of our calls
>> to tick_nohz_get_sleep_length() now.
>> I'm not sure how likely I think that is, but I'm lacking imagination for another
>> cause. That's why results with
>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
>> would be interesting.
> 
> I'm not completely sure whether I resolved the conflicts correctly. So
> if anything seems off about the results, would you mind sharing a
> ported patch I can try?
> 
> I've attached sysfs dumps and traces for 6.6, 6.12 and mainline as
> before (which should be more idle this time), as well as:
> 6_12_patch            = 6.12 with 13ed5c4a6d9c “cpuidle: teo: Skip
> getting the sleep length if wakeups are very frequent”
> 6_12_no_intercept     = 6.12 with intercept logic removed
> mainline_no_intercept = mainline with intercept logic removed

I wanted to send the below out now, I'm not quite done looking through the traces yet, sorry!
The system is running 100HZ tick, 6.12 never seems to turn the tick off. The majority of the wakeups
are just ticks, not 'intercepts' though.
Without the intersect logic everything is fine, teo selects deep idle states very liberally, so we
don't have any weird timer effects (wakeups then are not too common and are the EC SPI irq and
scheduler IPIs, nothing super unexpected).

I'll work through the code and traces again tomorrow with Rafael's notes in mind.

Anyway, here's the more legible deltas of Reka's sysfs dumps for reference:

tail -n 36 sysfs_mainline_delta.txt

Per-Cluster deltas: BIG
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| BIG     |     0 | WFI          | 3,436,031  |  10.56% | 5,017  | 0      |   0.00% | 0      |   0.00% |
| BIG     |     1 | cpuoff-b     | 17,909     |   0.06% | 19     | 17     |  89.47% | 2      |  10.53% |
| BIG     |     2 | clusteroff-b | 29,096,755 |  89.39% | 430    | 95     |  22.09% | 0      |   0.00% |
| BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     | TOTAL |              | 32,550,695 | 100.00% | 5,466  | 112    |   2.05% | 2      |   0.04% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: LITTLE
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+=============+=========+========+========+=========+========+=========+
| LITTLE  |     0 | WFI          | 40,105,707  |  31.15% | 50,366 | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     1 | cpuoff-l     | 5,057,879   |   3.93% | 143    | 43     |  30.07% | 99     |  69.23% |
| LITTLE  |     2 | clusteroff-l | 83,572,753  |  64.92% | 1,485  | 398    |  26.80% | 0      |   0.00% |
| LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| LITTLE  | TOTAL |              | 128,736,339 | 100.00% | 51,994 | 441    |   0.85% | 99     |   0.19% |
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: MID
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| MID     |     0 | WFI          | 8,504,484  |   8.79% | 13,025 | 0      |   0.00% | 0      |   0.00% |
| MID     |     1 | cpuoff-m     | 269,514    |   0.28% | 34     | 26     |  76.47% | 8      |  23.53% |
| MID     |     2 | clusteroff-m | 88,003,266 |  90.93% | 533    | 170    |  31.89% | 0      |   0.00% |
| MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| MID     | TOTAL |              | 96,777,264 | 100.00% | 13,592 | 196    |   1.44% | 8      |   0.06% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

tail -n 36 sysfs_6_12_delta.txt 

Per-Cluster deltas: BIG
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| BIG     |     0 | WFI          | 32,360,953 | 100.00% | 34,172 | 0      |   0.00% | 0      |   0.00% |
| BIG     |     1 | cpuoff-b     | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     |     2 | clusteroff-b | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     | TOTAL |              | 32,360,953 | 100.00% | 34,172 | 0      |   0.00% | 0      |   0.00% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: LITTLE
+---------+-------+--------------+-------------+---------+---------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ       | time%   | usageΔ  | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+=============+=========+=========+========+=========+========+=========+
| LITTLE  |     0 | WFI          | 127,519,860 | 100.00% | 140,096 | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     1 | cpuoff-l     | 0           |   0.00% | 0       | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     2 | clusteroff-l | 0           |   0.00% | 0       | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     3 | s2idle       | 0           |   0.00% | 0       | 0      |   0.00% | 0      |   0.00% |
| LITTLE  | TOTAL |              | 127,519,860 | 100.00% | 140,096 | 0      |   0.00% | 0      |   0.00% |
+---------+-------+--------------+-------------+---------+---------+--------+---------+--------+---------+

Per-Cluster deltas: MID
+---------+-------+--------------+------------+---------+---------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ  | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+=========+========+=========+========+=========+
| MID     |     0 | WFI          | 96,928,022 | 100.00% | 102,629 | 0      |   0.00% | 0      |   0.00% |
| MID     |     1 | cpuoff-m     | 0          |   0.00% | 0       | 0      |   0.00% | 0      |   0.00% |
| MID     |     2 | clusteroff-m | 0          |   0.00% | 0       | 0      |   0.00% | 0      |   0.00% |
| MID     |     3 | s2idle       | 0          |   0.00% | 0       | 0      |   0.00% | 0      |   0.00% |
| MID     | TOTAL |              | 96,928,022 | 100.00% | 102,629 | 0      |   0.00% | 0      |   0.00% |
+---------+-------+--------------+------------+---------+---------+--------+---------+--------+---------+

tail -n 36 sysfs_6_6_delta.txt 

Per-Cluster deltas: BIG
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| BIG     |     0 | WFI          | 376,034    |   1.17% | 1,368  | 0      |   0.00% | 0      |   0.00% |
| BIG     |     1 | cpuoff-b     | 2,679,129  |   8.33% | 82     | 42     |  51.22% | 40     |  48.78% |
| BIG     |     2 | clusteroff-b | 29,124,994 |  90.51% | 415    | 99     |  23.86% | 0      |   0.00% |
| BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     | TOTAL |              | 32,180,157 | 100.00% | 1,865  | 141    |   7.56% | 40     |   2.14% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: LITTLE
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+=============+=========+========+========+=========+========+=========+
| LITTLE  |     0 | WFI          | 3,902,851   |   3.04% | 10,026 | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     1 | cpuoff-l     | 11,604,484  |   9.05% | 715    | 383    |  53.57% | 329    |  46.01% |
| LITTLE  |     2 | clusteroff-l | 112,706,855 |  87.91% | 3,479  | 1,454  |  41.79% | 0      |   0.00% |
| LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| LITTLE  | TOTAL |              | 128,214,190 | 100.00% | 14,220 | 1,837  |  12.92% | 329    |   2.31% |
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: MID
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| MID     |     0 | WFI          | 865,879    |   0.90% | 3,683  | 0      |   0.00% | 0      |   0.00% |
| MID     |     1 | cpuoff-m     | 9,721,676  |  10.13% | 168    | 82     |  48.81% | 84     |  50.00% |
| MID     |     2 | clusteroff-m | 85,388,410 |  88.97% | 599    | 223    |  37.23% | 0      |   0.00% |
| MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| MID     | TOTAL |              | 95,975,965 | 100.00% | 4,450  | 305    |   6.85% | 84     |   1.89% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

tail -n 36 sysfs_6_12_no_intercept_delta.txt

Per-Cluster deltas: BIG
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| BIG     |     0 | WFI          | 20,413     |   0.06% | 47     | 0      |   0.00% | 0      |   0.00% |
| BIG     |     1 | cpuoff-b     | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     |     2 | clusteroff-b | 32,539,251 |  99.94% | 595    | 400    |  67.23% | 0      |   0.00% |
| BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     | TOTAL |              | 32,559,664 | 100.00% | 642    | 400    |  62.31% | 0      |   0.00% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: LITTLE
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+=============+=========+========+========+=========+========+=========+
| LITTLE  |     0 | WFI          | 1,646,664   |   1.27% | 1,141  | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     1 | cpuoff-l     | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     2 | clusteroff-l | 127,644,359 |  98.73% | 6,531  | 4,246  |  65.01% | 0      |   0.00% |
| LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| LITTLE  | TOTAL |              | 129,291,023 | 100.00% | 7,672  | 4,246  |  55.34% | 0      |   0.00% |
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: MID
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| MID     |     0 | WFI          | 90,610     |   0.09% | 245    | 0      |   0.00% | 0      |   0.00% |
| MID     |     1 | cpuoff-m     | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| MID     |     2 | clusteroff-m | 97,538,839 |  99.91% | 1,796  | 1,400  |  77.95% | 0      |   0.00% |
| MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| MID     | TOTAL |              | 97,629,449 | 100.00% | 2,041  | 1,400  |  68.59% | 0      |   0.00% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

tail -n 36 sysfs_6_12_patch_delta.txt       

Per-Cluster deltas: BIG
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| BIG     |     0 | WFI          | 282,136    |   0.88% | 1,335  | 0      |   0.00% | 0      |   0.00% |
| BIG     |     1 | cpuoff-b     | 107,697    |   0.34% | 18     | 17     |  94.44% | 1      |   5.56% |
| BIG     |     2 | clusteroff-b | 31,736,205 |  98.79% | 290    | 95     |  32.76% | 0      |   0.00% |
| BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     | TOTAL |              | 32,126,038 | 100.00% | 1,643  | 112    |   6.82% | 1      |   0.06% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: LITTLE
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+=============+=========+========+========+=========+========+=========+
| LITTLE  |     0 | WFI          | 3,194,027   |   2.47% | 7,873  | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     1 | cpuoff-l     | 6,906,772   |   5.34% | 373    | 132    |  35.39% | 238    |  63.81% |
| LITTLE  |     2 | clusteroff-l | 119,219,490 |  92.19% | 3,373  | 1,523  |  45.15% | 0      |   0.00% |
| LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| LITTLE  | TOTAL |              | 129,320,289 | 100.00% | 11,619 | 1,655  |  14.24% | 238    |   2.05% |
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: MID
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| MID     |     0 | WFI          | 762,336    |   0.78% | 4,049  | 0      |   0.00% | 0      |   0.00% |
| MID     |     1 | cpuoff-m     | 561,208    |   0.57% | 52     | 49     |  94.23% | 3      |   5.77% |
| MID     |     2 | clusteroff-m | 96,442,021 |  98.65% | 738    | 249    |  33.74% | 0      |   0.00% |
| MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| MID     | TOTAL |              | 97,765,565 | 100.00% | 4,839  | 298    |   6.16% | 3      |   0.06% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-05 20:48     ` Rafael J. Wysocki
@ 2025-11-06 11:13       ` Christian Loehle
  2025-11-06 20:33         ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-06 11:13 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Reka Norman, daniel.lezcano, linux-pm

On 11/5/25 20:48, Rafael J. Wysocki wrote:
> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/4/25 09:03, Christian Loehle wrote:
>>> On 11/4/25 03:36, Reka Norman wrote:
>>>> Hi,
>>>>
>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>>>> 6.12, when the system is idle it’s spending almost 100% of time in
>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>>>
>>>> The system is a ChromeOS device with Mediatek MT8196.
>>>>
>>>> Bisecting showed the specific commit which caused the regression is:
>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>
>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>>>> of minutes after boot, with the device having been idle since boot.
>>>> The cases tested are:
>>>> cpuidle_6_6.txt      = 6.6 kernel
>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>>>
>>>> Summary of the percentage time spent in each state (averaged across CPUs):
>>>>
>>>> |            |   6.6 |  6.12 | mainline |
>>>> |------------|------:|------:|---------:|
>>>> | WFI        |  6.02 | 99.94 |    56.84 |
>>>> | cpuoff     | 11.02 |     0 |     0.65 |
>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
>>>> | s2idle     |     0 |     0 |        0 |
>>>>
>>>> Any help would be much appreciated. Let me know if there's any other
>>>> debugging information I should provide.
>>>>
>>>
>>> That's not good.
>>> If the system is mostly idle (only boot activity but dumps are taken after
>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
>>> than I would've expected?
>>> I noticed that clusteroff and cpuoff have equal residency, which is
>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
>>>
>>> I'm a bit puzzled by your bisect results.
>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>> made the intercept logic *less* prone to count (false) intercepts, yet it
>>> seems to count more of them? (resulting in more WFI).
>>> I'll think about it some more, for now of course a trace would be very
>>> helpful. (cpuidle events, ipi_raise, irqs?)
>>> Are there ever any latency constraints set?
>>>
>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
>>> anyway:
>>> Cluster       State           above   below   usage   above%  below%
>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
>>> BIG   cpuoff-b        0       1       1       —       —
>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
>>>
>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
>>> savings compared to cpuoff should be marginal anyway.)
>>>
>>> Do you mind trying:
>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
>>> on 6.12?
>>>
>>
>> So just thinking out loud, the only case I can actually thing of to explain your
>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>> is that the workload essentially changed dramatically because of our calls
>> to tick_nohz_get_sleep_length() now.
>> I'm not sure how likely I think that is, but I'm lacking imagination for another
>> cause. That's why results with
>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
>> would be interesting.
> 
> My current theory is that this issue is related to the
> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
> distinguished from "hits" in teo.
> 
> Namely, teo assumes that its own overhead is negligible and so it
> counts a given event as an "intercept" if the measured time spent in
> the idle state (with the exit latency roughly taken into account)
> falls into a different "state bin" than the sleep length (the expected
> time till the next timer).  However, the sleep length is computed as a
> difference between the upcoming timer wakeup event time and
> ts->idle_entrytime, so it actually includes the time taken by
> tick_nohz_next_event().  If the latter is significant, it may
> contribute to the difference seen by teo_update() and cause extra
> "intercepts" to appear.

Right, additionally with psci pc-mode and the exposed clusteroff states we end
up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
for three reasons:
- wakeup latency = entry+exit latency (worst case: pay full latencies on both
even though for most cases we don't incur the entry latency)
- Wakeup latency is a worst-case and often is more like 2x-3x of the average.
- We use the (higher) clusteroff values even though the clusteroff state couldn't
possibly have been entered as not the entire cluster is idle.

Nonetheless these are all just a "intercept counting is significantly more likely"
while the results show not a single state >0 entered => the intercept logic
probably triggers every cpuidle entry. Feels like there should be an issue in the
feedback loop.
Anyway I'll try to reproduce what Reka is seeing.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-05 22:47       ` Christian Loehle
@ 2025-11-06 15:21         ` Rafael J. Wysocki
  0 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-06 15:21 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Reka Norman, rafael, daniel.lezcano, linux-pm

On Wed, Nov 5, 2025 at 11:47 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/5/25 06:22, Reka Norman wrote:
> > On Wed, Nov 5, 2025 at 10:24 AM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/4/25 09:03, Christian Loehle wrote:
> >>> On 11/4/25 03:36, Reka Norman wrote:
> >>>> Hi,
> >>>>
> >>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> >>>> 6.12, when the system is idle it’s spending almost 100% of time in
> >>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> >>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> >>>>
> >>>> The system is a ChromeOS device with Mediatek MT8196.
> >>>>
> >>>> Bisecting showed the specific commit which caused the regression is:
> >>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>
> >>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
> >>>> of minutes after boot, with the device having been idle since boot.
> >>>> The cases tested are:
> >>>> cpuidle_6_6.txt      = 6.6 kernel
> >>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> >>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> >>>>
> >>>> Summary of the percentage time spent in each state (averaged across CPUs):
> >>>>
> >>>> |            |   6.6 |  6.12 | mainline |
> >>>> |------------|------:|------:|---------:|
> >>>> | WFI        |  6.02 | 99.94 |    56.84 |
> >>>> | cpuoff     | 11.02 |     0 |     0.65 |
> >>>> | clusteroff | 82.96 |  0.05 |    42.51 |
> >>>> | s2idle     |     0 |     0 |        0 |
> >>>>
> >>>> Any help would be much appreciated. Let me know if there's any other
> >>>> debugging information I should provide.
> >>>>
> >>>
> >>> That's not good.
> >>> If the system is mostly idle (only boot activity but dumps are taken after
> >>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> >>> than I would've expected?
> >
> > Sorry, I just realised those dumps were taken at the login screen,
> > which is doing some animation. The new data is all from the home
> > screen, which should be more idle. I also attached before and after
> > dumps to eliminate boot activity. Now it’s more like 2% WFI at 6.6.
> >
> >>> I noticed that clusteroff and cpuoff have equal residency, which is
> >>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> >>>
> >>> I'm a bit puzzled by your bisect results.
> >>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>> made the intercept logic *less* prone to count (false) intercepts, yet it
> >>> seems to count more of them? (resulting in more WFI).
> >>> I'll think about it some more, for now of course a trace would be very
> >>> helpful. (cpuidle events, ipi_raise, irqs?)
> >
> > Traces attached.
> >
> >>> Are there ever any latency constraints set?
> >
> > Could you explain how I can tell? (I can’t see anything in our
> > codebase obviously setting cpu_dma_latency or
> > pm_qos_resume_latency_us, but I’m guessing that’s not conclusive.)
> >
> >>>
> >>> FWIW the mainline results look the most reasonable, from a 30000 feet view
> >>> anyway:
> >>> Cluster       State           above   below   usage   above%  below%
> >>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> >>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> >>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> >>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> >>> BIG   cpuoff-b        0       1       1       —       —
> >>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> >>>
> >>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> >>> savings compared to cpuoff should be marginal anyway.)
> >>>
> >>> Do you mind trying:
> >>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> >>> on 6.12?
> >>>
> >>
> >> So just thinking out loud, the only case I can actually thing of to explain your
> >> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >> is that the workload essentially changed dramatically because of our calls
> >> to tick_nohz_get_sleep_length() now.
> >> I'm not sure how likely I think that is, but I'm lacking imagination for another
> >> cause. That's why results with
> >> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> >> would be interesting.
> >
> > I'm not completely sure whether I resolved the conflicts correctly. So
> > if anything seems off about the results, would you mind sharing a
> > ported patch I can try?
> >
> > I've attached sysfs dumps and traces for 6.6, 6.12 and mainline as
> > before (which should be more idle this time), as well as:
> > 6_12_patch            = 6.12 with 13ed5c4a6d9c “cpuidle: teo: Skip
> > getting the sleep length if wakeups are very frequent”
> > 6_12_no_intercept     = 6.12 with intercept logic removed
> > mainline_no_intercept = mainline with intercept logic removed
>
> I wanted to send the below out now, I'm not quite done looking through the traces yet, sorry!
> The system is running 100HZ tick, 6.12 never seems to turn the tick off.

Which is most likely because it always expects an idle duration below
the tick period.

> The majority of the wakeups are just ticks, not 'intercepts' though.

What about scheduler IPIs?  How often do they occur?

A tick wakeup is regarded as an "artificial" one (but only if the
sleep length is large enough which is kind of questionable), so it
counts as a "hit" on the idle state corresponding to the sleep length.
However, an IPI in the range of the target residency of a shallower
state would count as an "intercept".

> Without the intersect logic everything is fine, teo selects deep idle states very liberally, so we

"Intercept" I suppose?

> don't have any weird timer effects (wakeups then are not too common and are the EC SPI irq and
> scheduler IPIs, nothing super unexpected).

But in that case idx is always the deepest enabled state and the only
thing that can change this selection is tick_nohz_get_sleep_length().
The statistics are not taken into account at all except for
tick_intercepts.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-06 11:13       ` Christian Loehle
@ 2025-11-06 20:33         ` Rafael J. Wysocki
  2025-11-07  3:28           ` Reka Norman
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-06 20:33 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, Reka Norman, daniel.lezcano, linux-pm

On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/5/25 20:48, Rafael J. Wysocki wrote:
> > On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/4/25 09:03, Christian Loehle wrote:
> >>> On 11/4/25 03:36, Reka Norman wrote:
> >>>> Hi,
> >>>>
> >>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> >>>> 6.12, when the system is idle it’s spending almost 100% of time in
> >>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> >>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> >>>>
> >>>> The system is a ChromeOS device with Mediatek MT8196.
> >>>>
> >>>> Bisecting showed the specific commit which caused the regression is:
> >>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>
> >>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
> >>>> of minutes after boot, with the device having been idle since boot.
> >>>> The cases tested are:
> >>>> cpuidle_6_6.txt      = 6.6 kernel
> >>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> >>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> >>>>
> >>>> Summary of the percentage time spent in each state (averaged across CPUs):
> >>>>
> >>>> |            |   6.6 |  6.12 | mainline |
> >>>> |------------|------:|------:|---------:|
> >>>> | WFI        |  6.02 | 99.94 |    56.84 |
> >>>> | cpuoff     | 11.02 |     0 |     0.65 |
> >>>> | clusteroff | 82.96 |  0.05 |    42.51 |
> >>>> | s2idle     |     0 |     0 |        0 |
> >>>>
> >>>> Any help would be much appreciated. Let me know if there's any other
> >>>> debugging information I should provide.
> >>>>
> >>>
> >>> That's not good.
> >>> If the system is mostly idle (only boot activity but dumps are taken after
> >>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> >>> than I would've expected?
> >>> I noticed that clusteroff and cpuoff have equal residency, which is
> >>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> >>>
> >>> I'm a bit puzzled by your bisect results.
> >>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>> made the intercept logic *less* prone to count (false) intercepts, yet it
> >>> seems to count more of them? (resulting in more WFI).
> >>> I'll think about it some more, for now of course a trace would be very
> >>> helpful. (cpuidle events, ipi_raise, irqs?)
> >>> Are there ever any latency constraints set?
> >>>
> >>> FWIW the mainline results look the most reasonable, from a 30000 feet view
> >>> anyway:
> >>> Cluster       State           above   below   usage   above%  below%
> >>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> >>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> >>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> >>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> >>> BIG   cpuoff-b        0       1       1       —       —
> >>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> >>>
> >>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> >>> savings compared to cpuoff should be marginal anyway.)
> >>>
> >>> Do you mind trying:
> >>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> >>> on 6.12?
> >>>
> >>
> >> So just thinking out loud, the only case I can actually thing of to explain your
> >> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >> is that the workload essentially changed dramatically because of our calls
> >> to tick_nohz_get_sleep_length() now.
> >> I'm not sure how likely I think that is, but I'm lacking imagination for another
> >> cause. That's why results with
> >> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> >> would be interesting.
> >
> > My current theory is that this issue is related to the
> > tick_nohz_get_sleep_length() overhead and the way "intercepts" are
> > distinguished from "hits" in teo.
> >
> > Namely, teo assumes that its own overhead is negligible and so it
> > counts a given event as an "intercept" if the measured time spent in
> > the idle state (with the exit latency roughly taken into account)
> > falls into a different "state bin" than the sleep length (the expected
> > time till the next timer).  However, the sleep length is computed as a
> > difference between the upcoming timer wakeup event time and
> > ts->idle_entrytime, so it actually includes the time taken by
> > tick_nohz_next_event().  If the latter is significant, it may
> > contribute to the difference seen by teo_update() and cause extra
> > "intercepts" to appear.
>
> Right, additionally with psci pc-mode and the exposed clusteroff states we end
> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
> for three reasons:
> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
> even though for most cases we don't incur the entry latency)
> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
> - We use the (higher) clusteroff values even though the clusteroff state couldn't
> possibly have been entered as not the entire cluster is idle.
>
> Nonetheless these are all just a "intercept counting is significantly more likely"
> while the results show not a single state >0 entered => the intercept logic
> probably triggers every cpuidle entry.

It has to for this to happen, if timers are not frequent enough.

> Feels like there should be an issue in the feedback loop.

I'm wondering what the issue could be though.  The change in commit
4b20b07ce72f only affects the cases when idle state 0 is about to be
selected and it only really changes the sleep length value from
KTIME_MAX to something more realistic (but it still may be KTIME_MAX).

It may turn an "intercept" into a "hit", but only if the CPU is not
woken up by the tick because those cases had been already counted as
"hits" before commit 4b20b07ce72f.

Now, if the majority of wakeups in the workload are tick wakeups, the
only real difference appears to be the presence of
tick_nohz_get_sleep_length() in that code path.

Frankly, I would try to remove the update of cpu_data->sleep_length_ns
right before the "goto out_tick" statement (in 6.12 that should be
line 426) and see what happens.

> Anyway I'll try to reproduce what Reka is seeing.

That would help too, of course.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-06 20:33         ` Rafael J. Wysocki
@ 2025-11-07  3:28           ` Reka Norman
  2025-11-07 11:35             ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Reka Norman @ 2025-11-07  3:28 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Christian Loehle, daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 7197 bytes --]

On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
> <christian.loehle@arm.com> wrote:
> >
> > On 11/5/25 20:48, Rafael J. Wysocki wrote:
> > > On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
> > > <christian.loehle@arm.com> wrote:
> > >>
> > >> On 11/4/25 09:03, Christian Loehle wrote:
> > >>> On 11/4/25 03:36, Reka Norman wrote:
> > >>>> Hi,
> > >>>>
> > >>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> > >>>> 6.12, when the system is idle it’s spending almost 100% of time in
> > >>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> > >>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> > >>>>
> > >>>> The system is a ChromeOS device with Mediatek MT8196.
> > >>>>
> > >>>> Bisecting showed the specific commit which caused the regression is:
> > >>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > >>>>
> > >>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
> > >>>> of minutes after boot, with the device having been idle since boot.
> > >>>> The cases tested are:
> > >>>> cpuidle_6_6.txt      = 6.6 kernel
> > >>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> > >>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> > >>>>
> > >>>> Summary of the percentage time spent in each state (averaged across CPUs):
> > >>>>
> > >>>> |            |   6.6 |  6.12 | mainline |
> > >>>> |------------|------:|------:|---------:|
> > >>>> | WFI        |  6.02 | 99.94 |    56.84 |
> > >>>> | cpuoff     | 11.02 |     0 |     0.65 |
> > >>>> | clusteroff | 82.96 |  0.05 |    42.51 |
> > >>>> | s2idle     |     0 |     0 |        0 |
> > >>>>
> > >>>> Any help would be much appreciated. Let me know if there's any other
> > >>>> debugging information I should provide.
> > >>>>
> > >>>
> > >>> That's not good.
> > >>> If the system is mostly idle (only boot activity but dumps are taken after
> > >>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> > >>> than I would've expected?
> > >>> I noticed that clusteroff and cpuoff have equal residency, which is
> > >>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> > >>>
> > >>> I'm a bit puzzled by your bisect results.
> > >>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > >>> made the intercept logic *less* prone to count (false) intercepts, yet it
> > >>> seems to count more of them? (resulting in more WFI).
> > >>> I'll think about it some more, for now of course a trace would be very
> > >>> helpful. (cpuidle events, ipi_raise, irqs?)
> > >>> Are there ever any latency constraints set?
> > >>>
> > >>> FWIW the mainline results look the most reasonable, from a 30000 feet view
> > >>> anyway:
> > >>> Cluster       State           above   below   usage   above%  below%
> > >>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> > >>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> > >>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> > >>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> > >>> BIG   cpuoff-b        0       1       1       —       —
> > >>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> > >>>
> > >>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> > >>> savings compared to cpuoff should be marginal anyway.)
> > >>>
> > >>> Do you mind trying:
> > >>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> > >>> on 6.12?
> > >>>
> > >>
> > >> So just thinking out loud, the only case I can actually thing of to explain your
> > >> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > >> is that the workload essentially changed dramatically because of our calls
> > >> to tick_nohz_get_sleep_length() now.
> > >> I'm not sure how likely I think that is, but I'm lacking imagination for another
> > >> cause. That's why results with
> > >> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> > >> would be interesting.
> > >
> > > My current theory is that this issue is related to the
> > > tick_nohz_get_sleep_length() overhead and the way "intercepts" are
> > > distinguished from "hits" in teo.
> > >
> > > Namely, teo assumes that its own overhead is negligible and so it
> > > counts a given event as an "intercept" if the measured time spent in
> > > the idle state (with the exit latency roughly taken into account)
> > > falls into a different "state bin" than the sleep length (the expected
> > > time till the next timer).  However, the sleep length is computed as a
> > > difference between the upcoming timer wakeup event time and
> > > ts->idle_entrytime, so it actually includes the time taken by
> > > tick_nohz_next_event().  If the latter is significant, it may
> > > contribute to the difference seen by teo_update() and cause extra
> > > "intercepts" to appear.
> >
> > Right, additionally with psci pc-mode and the exposed clusteroff states we end
> > up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
> > for three reasons:
> > - wakeup latency = entry+exit latency (worst case: pay full latencies on both
> > even though for most cases we don't incur the entry latency)
> > - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
> > - We use the (higher) clusteroff values even though the clusteroff state couldn't
> > possibly have been entered as not the entire cluster is idle.
> >
> > Nonetheless these are all just a "intercept counting is significantly more likely"
> > while the results show not a single state >0 entered => the intercept logic
> > probably triggers every cpuidle entry.
>
> It has to for this to happen, if timers are not frequent enough.
>
> > Feels like there should be an issue in the feedback loop.
>
> I'm wondering what the issue could be though.  The change in commit
> 4b20b07ce72f only affects the cases when idle state 0 is about to be
> selected and it only really changes the sleep length value from
> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
>
> It may turn an "intercept" into a "hit", but only if the CPU is not
> woken up by the tick because those cases had been already counted as
> "hits" before commit 4b20b07ce72f.
>
> Now, if the majority of wakeups in the workload are tick wakeups, the
> only real difference appears to be the presence of
> tick_nohz_get_sleep_length() in that code path.
>
> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
> right before the "goto out_tick" statement (in 6.12 that should be
> line 426) and see what happens.

Just tried this quickly. Results attached. It goes back to behaving
the same as 6.6 - about 2% WFI.

>
> > Anyway I'll try to reproduce what Reka is seeing.
>
> That would help too, of course.

[-- Attachment #2: sysfs_6_12_sleep_length_before.txt --]
[-- Type: text/plain, Size: 25011 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:12531733
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:53883
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:3951
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:5014
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:53
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:98392835
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:9054
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:3242
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2083020
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:140971625
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:9266
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:14004
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:7750019
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:27560
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:77
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:72
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:4
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:3373111
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:149
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1497
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2341706
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:239992740
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:5876
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:2785
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:8752595
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:37453
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:57
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:45
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:2
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:3020643
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:102
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1458
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2274080
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:241030716
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:4163
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2261
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:7300311
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:37908
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:62
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:31
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:3
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:1856430
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:93
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1257
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2270402
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:244060668
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:3655
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2155
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:4378950
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:31496
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:17
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:12
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:354793
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:29
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:702
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3281257
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:247157250
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2068
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:2915
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:4020323
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:28105
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:22
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:7
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:4
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:85906
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:29
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:668
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3273167
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:247730915
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:2075
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1309
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:4304424
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:30104
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:28
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:16
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1381479
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:44
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:742
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3292893
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:246230297
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:2024
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1516
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:4201228
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:26149
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:23
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:18
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:10
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:945595
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:42
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:936
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2983020
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:245248043
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:3055
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:637
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #3: sysfs_6_12_sleep_length_after.txt --]
[-- Type: text/plain, Size: 25018 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:13907194
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:58667
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:4444
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:5934
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:59
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:114357108
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:10492
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:3861
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2083035
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:155020062
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:10455
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:14004
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:9225562
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:30264
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:94
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:75
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:7
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:3670079
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:170
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1897
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2341715
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:269754231
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:6872
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:2785
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:9438280
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:40104
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:81
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:50
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:4
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:3457805
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:131
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1707
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2274091
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:271725472
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:4643
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2261
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:7793816
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:40202
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:84
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:33
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:7
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:2205957
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:117
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1404
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2270412
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:275048526
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:4049
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2155
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:4778985
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:33496
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:29
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:12
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:359002
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:41
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:797
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3281265
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:278868566
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2350
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:2915
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:4432584
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:30185
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:42
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:8
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:9
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:119546
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:50
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:761
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3273168
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:279321682
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:2368
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1309
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:4719164
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:32137
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:47
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:24
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:11
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:2192249
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:71
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:835
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3292907
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:277316613
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:2281
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1516
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:4656207
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:28247
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:42
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:19
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:14
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:959055
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:62
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1060
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2983022
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:276849505
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:3447
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:637
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #4: trace_6_12_sleep_length.dat --]
[-- Type: application/octet-stream, Size: 1191282 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-07  3:28           ` Reka Norman
@ 2025-11-07 11:35             ` Rafael J. Wysocki
  2025-11-09 20:35               ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-07 11:35 UTC (permalink / raw)
  To: Reka Norman; +Cc: Rafael J. Wysocki, Christian Loehle, daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 7786 bytes --]

On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
>
> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> > >
> > > On 11/5/25 20:48, Rafael J. Wysocki wrote:
> > > > On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
> > > > <christian.loehle@arm.com> wrote:
> > > >>
> > > >> On 11/4/25 09:03, Christian Loehle wrote:
> > > >>> On 11/4/25 03:36, Reka Norman wrote:
> > > >>>> Hi,
> > > >>>>
> > > >>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> > > >>>> 6.12, when the system is idle it’s spending almost 100% of time in
> > > >>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> > > >>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> > > >>>>
> > > >>>> The system is a ChromeOS device with Mediatek MT8196.
> > > >>>>
> > > >>>> Bisecting showed the specific commit which caused the regression is:
> > > >>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > > >>>>
> > > >>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
> > > >>>> of minutes after boot, with the device having been idle since boot.
> > > >>>> The cases tested are:
> > > >>>> cpuidle_6_6.txt      = 6.6 kernel
> > > >>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> > > >>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> > > >>>>
> > > >>>> Summary of the percentage time spent in each state (averaged across CPUs):
> > > >>>>
> > > >>>> |            |   6.6 |  6.12 | mainline |
> > > >>>> |------------|------:|------:|---------:|
> > > >>>> | WFI        |  6.02 | 99.94 |    56.84 |
> > > >>>> | cpuoff     | 11.02 |     0 |     0.65 |
> > > >>>> | clusteroff | 82.96 |  0.05 |    42.51 |
> > > >>>> | s2idle     |     0 |     0 |        0 |
> > > >>>>
> > > >>>> Any help would be much appreciated. Let me know if there's any other
> > > >>>> debugging information I should provide.
> > > >>>>
> > > >>>
> > > >>> That's not good.
> > > >>> If the system is mostly idle (only boot activity but dumps are taken after
> > > >>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> > > >>> than I would've expected?
> > > >>> I noticed that clusteroff and cpuoff have equal residency, which is
> > > >>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> > > >>>
> > > >>> I'm a bit puzzled by your bisect results.
> > > >>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > > >>> made the intercept logic *less* prone to count (false) intercepts, yet it
> > > >>> seems to count more of them? (resulting in more WFI).
> > > >>> I'll think about it some more, for now of course a trace would be very
> > > >>> helpful. (cpuidle events, ipi_raise, irqs?)
> > > >>> Are there ever any latency constraints set?
> > > >>>
> > > >>> FWIW the mainline results look the most reasonable, from a 30000 feet view
> > > >>> anyway:
> > > >>> Cluster       State           above   below   usage   above%  below%
> > > >>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> > > >>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> > > >>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> > > >>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> > > >>> BIG   cpuoff-b        0       1       1       —       —
> > > >>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> > > >>>
> > > >>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> > > >>> savings compared to cpuoff should be marginal anyway.)
> > > >>>
> > > >>> Do you mind trying:
> > > >>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> > > >>> on 6.12?
> > > >>>
> > > >>
> > > >> So just thinking out loud, the only case I can actually thing of to explain your
> > > >> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > > >> is that the workload essentially changed dramatically because of our calls
> > > >> to tick_nohz_get_sleep_length() now.
> > > >> I'm not sure how likely I think that is, but I'm lacking imagination for another
> > > >> cause. That's why results with
> > > >> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> > > >> would be interesting.
> > > >
> > > > My current theory is that this issue is related to the
> > > > tick_nohz_get_sleep_length() overhead and the way "intercepts" are
> > > > distinguished from "hits" in teo.
> > > >
> > > > Namely, teo assumes that its own overhead is negligible and so it
> > > > counts a given event as an "intercept" if the measured time spent in
> > > > the idle state (with the exit latency roughly taken into account)
> > > > falls into a different "state bin" than the sleep length (the expected
> > > > time till the next timer).  However, the sleep length is computed as a
> > > > difference between the upcoming timer wakeup event time and
> > > > ts->idle_entrytime, so it actually includes the time taken by
> > > > tick_nohz_next_event().  If the latter is significant, it may
> > > > contribute to the difference seen by teo_update() and cause extra
> > > > "intercepts" to appear.
> > >
> > > Right, additionally with psci pc-mode and the exposed clusteroff states we end
> > > up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
> > > for three reasons:
> > > - wakeup latency = entry+exit latency (worst case: pay full latencies on both
> > > even though for most cases we don't incur the entry latency)
> > > - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
> > > - We use the (higher) clusteroff values even though the clusteroff state couldn't
> > > possibly have been entered as not the entire cluster is idle.
> > >
> > > Nonetheless these are all just a "intercept counting is significantly more likely"
> > > while the results show not a single state >0 entered => the intercept logic
> > > probably triggers every cpuidle entry.
> >
> > It has to for this to happen, if timers are not frequent enough.
> >
> > > Feels like there should be an issue in the feedback loop.
> >
> > I'm wondering what the issue could be though.  The change in commit
> > 4b20b07ce72f only affects the cases when idle state 0 is about to be
> > selected and it only really changes the sleep length value from
> > KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
> >
> > It may turn an "intercept" into a "hit", but only if the CPU is not
> > woken up by the tick because those cases had been already counted as
> > "hits" before commit 4b20b07ce72f.
> >
> > Now, if the majority of wakeups in the workload are tick wakeups, the
> > only real difference appears to be the presence of
> > tick_nohz_get_sleep_length() in that code path.
> >
> > Frankly, I would try to remove the update of cpu_data->sleep_length_ns
> > right before the "goto out_tick" statement (in 6.12 that should be
> > line 426) and see what happens.
>
> Just tried this quickly. Results attached. It goes back to behaving
> the same as 6.6 - about 2% WFI.

Thanks for checking this!  It means that the
tick_nohz_get_sleep_length() overhead doesn't matter here that much.

Instead of making the change above, can you please try the 6.12
equivalent of the attached patch?

Or alternatively, apply this one to the mainline and see if it changes
the idle states selection proportions?

[-- Attachment #2: cpuidle-teo-reflect-refinement.patch --]
[-- Type: text/x-patch, Size: 586 bytes --]

---
 drivers/cpuidle/governors/teo.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -507,8 +507,7 @@ static void teo_reflect(struct cpuidle_d
 	struct teo_cpu *cpu_data = per_cpu_ptr(&teo_cpus, dev->cpu);
 
 	dev->last_state_idx = state;
-	if (dev->poll_time_limit ||
-	    (tick_nohz_idle_got_tick() && cpu_data->sleep_length_ns > TICK_NSEC)) {
+	if (dev->poll_time_limit || tick_nohz_idle_got_tick()) {
 		/*
 		 * The wakeup was not "genuine", but triggered by one of the
 		 * safety nets.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-07 11:35             ` Rafael J. Wysocki
@ 2025-11-09 20:35               ` Christian Loehle
  2025-11-10  6:10                 ` Reka Norman
  0 siblings, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-09 20:35 UTC (permalink / raw)
  To: Rafael J. Wysocki, Reka Norman; +Cc: daniel.lezcano, linux-pm

On 11/7/25 11:35, Rafael J. Wysocki wrote:
> On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
>>
>> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>
>>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
>>> <christian.loehle@arm.com> wrote:
>>>>
>>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
>>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
>>>>> <christian.loehle@arm.com> wrote:
>>>>>>
>>>>>> On 11/4/25 09:03, Christian Loehle wrote:
>>>>>>> On 11/4/25 03:36, Reka Norman wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
>>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>>>>>>>
>>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
>>>>>>>>
>>>>>>>> Bisecting showed the specific commit which caused the regression is:
>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>
>>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>>>>>>>> of minutes after boot, with the device having been idle since boot.
>>>>>>>> The cases tested are:
>>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
>>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>>>>>>>
>>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
>>>>>>>>
>>>>>>>> |            |   6.6 |  6.12 | mainline |
>>>>>>>> |------------|------:|------:|---------:|
>>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
>>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
>>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
>>>>>>>> | s2idle     |     0 |     0 |        0 |
>>>>>>>>
>>>>>>>> Any help would be much appreciated. Let me know if there's any other
>>>>>>>> debugging information I should provide.
>>>>>>>>
>>>>>>>
>>>>>>> That's not good.
>>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
>>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
>>>>>>> than I would've expected?
>>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
>>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
>>>>>>>
>>>>>>> I'm a bit puzzled by your bisect results.
>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
>>>>>>> seems to count more of them? (resulting in more WFI).
>>>>>>> I'll think about it some more, for now of course a trace would be very
>>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
>>>>>>> Are there ever any latency constraints set?
>>>>>>>
>>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
>>>>>>> anyway:
>>>>>>> Cluster       State           above   below   usage   above%  below%
>>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
>>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
>>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
>>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
>>>>>>> BIG   cpuoff-b        0       1       1       —       —
>>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
>>>>>>>
>>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
>>>>>>> savings compared to cpuoff should be marginal anyway.)
>>>>>>>
>>>>>>> Do you mind trying:
>>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
>>>>>>> on 6.12?
>>>>>>>
>>>>>>
>>>>>> So just thinking out loud, the only case I can actually thing of to explain your
>>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>> is that the workload essentially changed dramatically because of our calls
>>>>>> to tick_nohz_get_sleep_length() now.
>>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
>>>>>> cause. That's why results with
>>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
>>>>>> would be interesting.
>>>>>
>>>>> My current theory is that this issue is related to the
>>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
>>>>> distinguished from "hits" in teo.
>>>>>
>>>>> Namely, teo assumes that its own overhead is negligible and so it
>>>>> counts a given event as an "intercept" if the measured time spent in
>>>>> the idle state (with the exit latency roughly taken into account)
>>>>> falls into a different "state bin" than the sleep length (the expected
>>>>> time till the next timer).  However, the sleep length is computed as a
>>>>> difference between the upcoming timer wakeup event time and
>>>>> ts->idle_entrytime, so it actually includes the time taken by
>>>>> tick_nohz_next_event().  If the latter is significant, it may
>>>>> contribute to the difference seen by teo_update() and cause extra
>>>>> "intercepts" to appear.
>>>>
>>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
>>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
>>>> for three reasons:
>>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
>>>> even though for most cases we don't incur the entry latency)
>>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
>>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
>>>> possibly have been entered as not the entire cluster is idle.
>>>>
>>>> Nonetheless these are all just a "intercept counting is significantly more likely"
>>>> while the results show not a single state >0 entered => the intercept logic
>>>> probably triggers every cpuidle entry.
>>>
>>> It has to for this to happen, if timers are not frequent enough.
>>>
>>>> Feels like there should be an issue in the feedback loop.
>>>
>>> I'm wondering what the issue could be though.  The change in commit
>>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
>>> selected and it only really changes the sleep length value from
>>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
>>>
>>> It may turn an "intercept" into a "hit", but only if the CPU is not
>>> woken up by the tick because those cases had been already counted as
>>> "hits" before commit 4b20b07ce72f.
>>>
>>> Now, if the majority of wakeups in the workload are tick wakeups, the
>>> only real difference appears to be the presence of
>>> tick_nohz_get_sleep_length() in that code path.
>>>
>>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
>>> right before the "goto out_tick" statement (in 6.12 that should be
>>> line 426) and see what happens.
>>
>> Just tried this quickly. Results attached. It goes back to behaving
>> the same as 6.6 - about 2% WFI.
> 
> Thanks for checking this!  It means that the
> tick_nohz_get_sleep_length() overhead doesn't matter here that much.
> 
> Instead of making the change above, can you please try the 6.12
> equivalent of the attached patch?
> 
> Or alternatively, apply this one to the mainline and see if it changes
> the idle states selection proportions?

I don't quite follow this.
While I don't really believe that the tick_nohz_get_sleep_length() overhead
plays a role here, how does removing that assignment prove it isn't?

The below (if that's what you meant) might lead to the overhead being optimized
out? [1]
I'd be curious if [2] behaves like 6.12. So far I haven't been able to
reproduce the issue Reka is seeing.
There's one oddity that immediately came to mind: state1 and state2 having
the same residency (slightly different latency though), but when I set these
as such teo works fine. So I don't think it is an issue here.

If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
length values are here (they must be <1ms, but do in fact never trigger?).

[1]
diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
index 173ddcac540a..d960963cd101 100644
--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -428,7 +428,6 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
                 * know after wakeup if our guess was correct.
                 */
                duration_ns = tick_nohz_get_sleep_length(&delta_tick);
-               cpu_data->sleep_length_ns = duration_ns;
                goto out_tick;
        }
 

[2]
diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
index 173ddcac540a..e55b180afc25 100644
--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -427,7 +427,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
                 * We have to query the sleep length here otherwise we don't
                 * know after wakeup if our guess was correct.
                 */
-               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
+               duration_ns = TICK_NSEC / 2;
                cpu_data->sleep_length_ns = duration_ns;
                goto out_tick;
        }

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-09 20:35               ` Christian Loehle
@ 2025-11-10  6:10                 ` Reka Norman
  2025-11-10 12:06                   ` Christian Loehle
  2025-11-10 20:51                   ` Rafael J. Wysocki
  0 siblings, 2 replies; 48+ messages in thread
From: Reka Norman @ 2025-11-10  6:10 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 11493 bytes --]

On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/7/25 11:35, Rafael J. Wysocki wrote:
> > On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
> >>
> >> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>>
> >>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
> >>> <christian.loehle@arm.com> wrote:
> >>>>
> >>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
> >>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
> >>>>> <christian.loehle@arm.com> wrote:
> >>>>>>
> >>>>>> On 11/4/25 09:03, Christian Loehle wrote:
> >>>>>>> On 11/4/25 03:36, Reka Norman wrote:
> >>>>>>>> Hi,
> >>>>>>>>
> >>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> >>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
> >>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> >>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> >>>>>>>>
> >>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
> >>>>>>>>
> >>>>>>>> Bisecting showed the specific commit which caused the regression is:
> >>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>>>>
> >>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
> >>>>>>>> of minutes after boot, with the device having been idle since boot.
> >>>>>>>> The cases tested are:
> >>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
> >>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> >>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> >>>>>>>>
> >>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
> >>>>>>>>
> >>>>>>>> |            |   6.6 |  6.12 | mainline |
> >>>>>>>> |------------|------:|------:|---------:|
> >>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
> >>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
> >>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
> >>>>>>>> | s2idle     |     0 |     0 |        0 |
> >>>>>>>>
> >>>>>>>> Any help would be much appreciated. Let me know if there's any other
> >>>>>>>> debugging information I should provide.
> >>>>>>>>
> >>>>>>>
> >>>>>>> That's not good.
> >>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
> >>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> >>>>>>> than I would've expected?
> >>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
> >>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> >>>>>>>
> >>>>>>> I'm a bit puzzled by your bisect results.
> >>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
> >>>>>>> seems to count more of them? (resulting in more WFI).
> >>>>>>> I'll think about it some more, for now of course a trace would be very
> >>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
> >>>>>>> Are there ever any latency constraints set?
> >>>>>>>
> >>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
> >>>>>>> anyway:
> >>>>>>> Cluster       State           above   below   usage   above%  below%
> >>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> >>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> >>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> >>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> >>>>>>> BIG   cpuoff-b        0       1       1       —       —
> >>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> >>>>>>>
> >>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> >>>>>>> savings compared to cpuoff should be marginal anyway.)
> >>>>>>>
> >>>>>>> Do you mind trying:
> >>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> >>>>>>> on 6.12?
> >>>>>>>
> >>>>>>
> >>>>>> So just thinking out loud, the only case I can actually thing of to explain your
> >>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>> is that the workload essentially changed dramatically because of our calls
> >>>>>> to tick_nohz_get_sleep_length() now.
> >>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
> >>>>>> cause. That's why results with
> >>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> >>>>>> would be interesting.
> >>>>>
> >>>>> My current theory is that this issue is related to the
> >>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
> >>>>> distinguished from "hits" in teo.
> >>>>>
> >>>>> Namely, teo assumes that its own overhead is negligible and so it
> >>>>> counts a given event as an "intercept" if the measured time spent in
> >>>>> the idle state (with the exit latency roughly taken into account)
> >>>>> falls into a different "state bin" than the sleep length (the expected
> >>>>> time till the next timer).  However, the sleep length is computed as a
> >>>>> difference between the upcoming timer wakeup event time and
> >>>>> ts->idle_entrytime, so it actually includes the time taken by
> >>>>> tick_nohz_next_event().  If the latter is significant, it may
> >>>>> contribute to the difference seen by teo_update() and cause extra
> >>>>> "intercepts" to appear.
> >>>>
> >>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
> >>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
> >>>> for three reasons:
> >>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
> >>>> even though for most cases we don't incur the entry latency)
> >>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
> >>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
> >>>> possibly have been entered as not the entire cluster is idle.
> >>>>
> >>>> Nonetheless these are all just a "intercept counting is significantly more likely"
> >>>> while the results show not a single state >0 entered => the intercept logic
> >>>> probably triggers every cpuidle entry.
> >>>
> >>> It has to for this to happen, if timers are not frequent enough.
> >>>
> >>>> Feels like there should be an issue in the feedback loop.
> >>>
> >>> I'm wondering what the issue could be though.  The change in commit
> >>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
> >>> selected and it only really changes the sleep length value from
> >>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
> >>>
> >>> It may turn an "intercept" into a "hit", but only if the CPU is not
> >>> woken up by the tick because those cases had been already counted as
> >>> "hits" before commit 4b20b07ce72f.
> >>>
> >>> Now, if the majority of wakeups in the workload are tick wakeups, the
> >>> only real difference appears to be the presence of
> >>> tick_nohz_get_sleep_length() in that code path.
> >>>
> >>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
> >>> right before the "goto out_tick" statement (in 6.12 that should be
> >>> line 426) and see what happens.
> >>
> >> Just tried this quickly. Results attached. It goes back to behaving
> >> the same as 6.6 - about 2% WFI.
> >
> > Thanks for checking this!  It means that the
> > tick_nohz_get_sleep_length() overhead doesn't matter here that much.
> >
> > Instead of making the change above, can you please try the 6.12
> > equivalent of the attached patch?
> >
> > Or alternatively, apply this one to the mainline and see if it changes
> > the idle states selection proportions?

It doesn't seem to have an effect. Results are attached for both 6.12
(6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
100% WFI and mainline is about 20% WFI on average, the same as before.

>
> I don't quite follow this.
> While I don't really believe that the tick_nohz_get_sleep_length() overhead
> plays a role here, how does removing that assignment prove it isn't?
>
> The below (if that's what you meant) might lead to the overhead being optimized
> out? [1]

Oh true. I tried the diff below instead (which I think should avoid
that?). This also behaves the same as 6.6. Results attached as
6_12_sleep_length2.

diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
index 173ddcac540a..3c9595bc6c80 100644
--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
struct cpuidle_device *dev,
                 * We have to query the sleep length here otherwise we don't
                 * know after wakeup if our guess was correct.
                 */
-               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
-               cpu_data->sleep_length_ns = duration_ns;
+               volatile s64 __maybe_unused duration_volatile_ns =
tick_nohz_get_sleep_length(&delta_tick);
                goto out_tick;
        }

> I'd be curious if [2] behaves like 6.12. So far I haven't been able to
> reproduce the issue Reka is seeing.

Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.

> There's one oddity that immediately came to mind: state1 and state2 having
> the same residency (slightly different latency though), but when I set these
> as such teo works fine. So I don't think it is an issue here.
>
> If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
> length values are here (they must be <1ms, but do in fact never trigger?).

In case it's helpful, I've attached a trace (trace_duration.dat) which
includes a trace_printk of the duration_ns at this point (on top of
unmodified 6.12).

>
> [1]
> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> index 173ddcac540a..d960963cd101 100644
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -428,7 +428,6 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>                  * know after wakeup if our guess was correct.
>                  */
>                 duration_ns = tick_nohz_get_sleep_length(&delta_tick);
> -               cpu_data->sleep_length_ns = duration_ns;
>                 goto out_tick;
>         }
>
>
> [2]
> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> index 173ddcac540a..e55b180afc25 100644
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -427,7 +427,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>                  * We have to query the sleep length here otherwise we don't
>                  * know after wakeup if our guess was correct.
>                  */
> -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
> +               duration_ns = TICK_NSEC / 2;
>                 cpu_data->sleep_length_ns = duration_ns;
>                 goto out_tick;
>         }

[-- Attachment #2: sysfs_6_12_teo_reflect_before.txt --]
[-- Type: text/plain, Size: 24900 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:1214640824
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:1339996
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:5
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:1
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:15440
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:6
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2240197
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:19594
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:32977
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:1221886707
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:1347610
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2202966
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:35749
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:3372
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:1224230951
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:1351952
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2127277
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:34480
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:1239
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:1220371129
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:1338443
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2170174
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:33208
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:3484
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:1229354016
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:1322509
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3126284
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:67395
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1352
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:1229101010
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:1326134
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3133656
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:67404
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2050
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:1229772082
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:1323192
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:2
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3215013
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:67177
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1990
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:1231433051
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:1329922
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2872854
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:35699
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:556
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #3: sysfs_mainline_teo_reflect_after.txt --]
[-- Type: text/plain, Size: 25068 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:1497807460
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:1786251
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:1454
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:3306
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:29
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:82514333
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:4803
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:5052
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2305619
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:304655488
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:18129
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:13050
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:328686508
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:455978
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:245
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:374
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:27242389
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:620
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:6884
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2138394
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:1549807137
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:27231
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:2496
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:304844188
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:422264
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:139
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:163
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:13455702
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:304
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:6562
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2305953
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:1586661105
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:22788
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2496
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:249718660
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:342756
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:124
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:114
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:9
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:12021350
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:239
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:5350
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2022368
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:1649371407
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:19246
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:3258
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:194837988
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:311352
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:33
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:17
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:1911149
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:51
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:3887
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3102998
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:1715674268
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:9300
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1520
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:118078279
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:183439
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:47
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:12
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:13
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:1104655
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:59
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:2548
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3277211
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:1790693086
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:11913
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1293
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:197650960
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:314708
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:49
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:10
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:13
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:699540
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:59
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:5241
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3217336
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:1714250736
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:20007
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:2677
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:211075453
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:329716
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:44
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:4
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:11
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:134260
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:49
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:4237
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2959365
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:1700206971
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:14019
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:804
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #4: sysfs_6_12_teo_reflect_after.txt --]
[-- Type: text/plain, Size: 24900 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:1246124636
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:1374468
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:5
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:1
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:15440
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:6
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2240197
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:19594
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:32977
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:1253558121
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:1382719
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2202966
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:35749
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:3372
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:1256025639
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:1386723
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2127277
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:34480
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:1239
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:1251955771
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:1373055
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2170174
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:33208
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:3484
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:1261438716
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:1356872
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3126284
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:67395
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1352
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:1261162750
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:1360543
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3133656
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:67404
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2050
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:1261815489
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:1357476
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:2
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3215013
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:67177
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:1990
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:1263600325
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:1364576
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2872854
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:35699
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:556
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #5: trace_mainline_teo_reflect.dat --]
[-- Type: application/octet-stream, Size: 1567181 bytes --]

[-- Attachment #6: trace_6_12_teo_reflect.dat --]
[-- Type: application/octet-stream, Size: 2923859 bytes --]

[-- Attachment #7: sysfs_mainline_teo_reflect_before.txt --]
[-- Type: text/plain, Size: 25066 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:1472445678
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:1755986
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:1433
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:3246
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:29
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:80987488
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:4722
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:4955
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2305606
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:300071213
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:17842
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:13050
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:323729985
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:448913
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:244
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:366
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:26712931
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:611
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:6795
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2138394
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:1523308380
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:26809
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:2496
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:297631840
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:413049
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:129
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:160
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:4
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:13319581
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:291
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:6423
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2305952
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:1562248574
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:22361
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2496
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:245891305
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:337664
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:111
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:113
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:9
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:12003233
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:225
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:5272
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2022365
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:1621301796
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:18867
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:3258
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:191864511
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:306719
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:21
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:17
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:1906803
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:39
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:3823
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3102996
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:1686624784
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:9129
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1520
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:116241702
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:180673
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:27
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:11
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:10
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:1078203
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:38
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:2510
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3277209
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:1760536130
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:11714
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1293
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:194540342
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:309922
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:27
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:6
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:10
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:363754
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:33
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:5160
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3217335
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:1685637865
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:19669
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:2677
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:207789654
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:324690
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:27
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:4
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:9
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:125751
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:31
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:4168
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2959358
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:1671230141
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:13776
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:804
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #8: sysfs_6_12_sleep_length2_after.txt --]
[-- Type: text/plain, Size: 25015 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:8720741
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:46433
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:4197
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:5429
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:91
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:103044729
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:9735
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:2829
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2272509
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:107584058
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:7396
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:13585
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:8530128
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:44729
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:74
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:84
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:5
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:4924127
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:159
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1419
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2112971
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:209293563
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:4591
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:3036
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:11718693
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:37146
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:47
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:28
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:4
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:1659791
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:75
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1674
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2139307
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:211348668
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:3952
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:3223
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:8835995
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:34680
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:59
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:46
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:5
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:2599968
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:105
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1622
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2223565
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:211045082
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:4071
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2561
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:3296092
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:18159
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:19
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:18
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:2
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:742337
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:37
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:643
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3289018
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:217049974
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:1750
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1599
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:4213924
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:30310
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:33
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:11
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:11
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:710213
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:45
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:765
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3306247
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:216899106
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:3262
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1273
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:4073668
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:29878
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:32
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:15
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:13
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1881981
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:47
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:665
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3201024
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:215827161
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:1641
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:2207
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:4309088
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:26938
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:29
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:6
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:14
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:626051
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:35
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:870
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2904831
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:215806443
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2679
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:278
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #9: sysfs_6_12_sleep_length2_before.txt --]
[-- Type: text/plain, Size: 25008 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:7447481
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:42019
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:3707
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:4797
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:84
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:91490887
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:8597
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:2189
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2272492
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:88956178
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:5978
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:13585
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:7882373
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:42351
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:64
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:80
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:5
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:4848168
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:145
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1138
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2112966
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:178338738
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:3861
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:3036
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:10082216
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:34187
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:34
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:19
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:930884
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:53
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1248
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2139301
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:181978505
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:3223
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:3223
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:8119319
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:32551
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:49
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:37
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:2062214
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:86
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1271
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2223561
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:180491915
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:3394
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:2561
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:3004699
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:16939
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:14
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:17
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:2
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:664039
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:31
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:549
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3289016
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:185516487
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:1493
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1599
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:3834718
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:28160
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:23
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:10
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:5
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:702068
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:34
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:650
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3306245
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:185415690
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:2793
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:1273
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:3723354
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:27804
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:23
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:14
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1653291
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:37
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:584
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3201011
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:184469982
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:1440
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:2207
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:3897852
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:24642
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:21
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:4
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:8
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:248662
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:25
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:761
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2904828
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:184500352
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2355
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:278
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #10: trace_6_12_sleep_length2.dat --]
[-- Type: application/octet-stream, Size: 1174320 bytes --]

[-- Attachment #11: sysfs_6_12_sleep_length3_before.txt --]
[-- Type: text/plain, Size: 24888 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:483008475
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:548170
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:10
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:2
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:27042
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:12
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2262834
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:22752
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:19602
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:488095065
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:550590
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2156867
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:46584
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4303
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:488429066
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:547810
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2190840
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:49250
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:1387
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:490691603
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:547517
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2114508
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:48206
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1736
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:489230398
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:533887
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3314104
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:305510
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1217
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:489184693
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:533265
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:2
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3220995
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:466082
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:5
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2490
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:489514434
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:534002
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3247532
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:50718
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:905
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:489498546
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:533716
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2866502
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:48384
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1264
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #12: sysfs_6_12_sleep_length3_after.txt --]
[-- Type: text/plain, Size: 24888 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:514451156
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:583391
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:10
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:2
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:27042
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:12
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2262834
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:22752
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:19602
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:519853872
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:585613
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2156867
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:46584
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4303
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:520061770
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:582660
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2190840
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:49250
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:1387
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:522503879
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:582160
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2114508
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:48206
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1736
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:521294240
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:568172
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3314104
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:305510
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1217
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:521263197
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:567455
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:2
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3220995
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:466082
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:5
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2490
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:521593238
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:568244
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3247532
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:50718
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:3
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:905
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:521613392
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:568138
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:1
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2866502
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:48384
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1264
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #13: trace_6_12_sleep_length3.dat --]
[-- Type: application/octet-stream, Size: 2770595 bytes --]

[-- Attachment #14: trace_duration.dat --]
[-- Type: application/octet-stream, Size: 4562206 bytes --]

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-10  6:10                 ` Reka Norman
@ 2025-11-10 12:06                   ` Christian Loehle
  2025-11-11  4:23                     ` Reka Norman
  2025-11-10 20:51                   ` Rafael J. Wysocki
  1 sibling, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-10 12:06 UTC (permalink / raw)
  To: Reka Norman; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

On 11/10/25 06:10, Reka Norman wrote:
> On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/7/25 11:35, Rafael J. Wysocki wrote:
>>> On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
>>>>
>>>> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>>>
>>>>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
>>>>> <christian.loehle@arm.com> wrote:
>>>>>>
>>>>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
>>>>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>
>>>>>>>> On 11/4/25 09:03, Christian Loehle wrote:
>>>>>>>>> On 11/4/25 03:36, Reka Norman wrote:
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>>>>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
>>>>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>>>>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>>>>>>>>>
>>>>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
>>>>>>>>>>
>>>>>>>>>> Bisecting showed the specific commit which caused the regression is:
>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>
>>>>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>>>>>>>>>> of minutes after boot, with the device having been idle since boot.
>>>>>>>>>> The cases tested are:
>>>>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
>>>>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>>>>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>>>>>>>>>
>>>>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
>>>>>>>>>>
>>>>>>>>>> |            |   6.6 |  6.12 | mainline |
>>>>>>>>>> |------------|------:|------:|---------:|
>>>>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
>>>>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
>>>>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
>>>>>>>>>> | s2idle     |     0 |     0 |        0 |
>>>>>>>>>>
>>>>>>>>>> Any help would be much appreciated. Let me know if there's any other
>>>>>>>>>> debugging information I should provide.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> That's not good.
>>>>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
>>>>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
>>>>>>>>> than I would've expected?
>>>>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
>>>>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
>>>>>>>>>
>>>>>>>>> I'm a bit puzzled by your bisect results.
>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
>>>>>>>>> seems to count more of them? (resulting in more WFI).
>>>>>>>>> I'll think about it some more, for now of course a trace would be very
>>>>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
>>>>>>>>> Are there ever any latency constraints set?
>>>>>>>>>
>>>>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
>>>>>>>>> anyway:
>>>>>>>>> Cluster       State           above   below   usage   above%  below%
>>>>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
>>>>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
>>>>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
>>>>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
>>>>>>>>> BIG   cpuoff-b        0       1       1       —       —
>>>>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
>>>>>>>>>
>>>>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
>>>>>>>>> savings compared to cpuoff should be marginal anyway.)
>>>>>>>>>
>>>>>>>>> Do you mind trying:
>>>>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
>>>>>>>>> on 6.12?
>>>>>>>>>
>>>>>>>>
>>>>>>>> So just thinking out loud, the only case I can actually thing of to explain your
>>>>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>> is that the workload essentially changed dramatically because of our calls
>>>>>>>> to tick_nohz_get_sleep_length() now.
>>>>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
>>>>>>>> cause. That's why results with
>>>>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
>>>>>>>> would be interesting.
>>>>>>>
>>>>>>> My current theory is that this issue is related to the
>>>>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
>>>>>>> distinguished from "hits" in teo.
>>>>>>>
>>>>>>> Namely, teo assumes that its own overhead is negligible and so it
>>>>>>> counts a given event as an "intercept" if the measured time spent in
>>>>>>> the idle state (with the exit latency roughly taken into account)
>>>>>>> falls into a different "state bin" than the sleep length (the expected
>>>>>>> time till the next timer).  However, the sleep length is computed as a
>>>>>>> difference between the upcoming timer wakeup event time and
>>>>>>> ts->idle_entrytime, so it actually includes the time taken by
>>>>>>> tick_nohz_next_event().  If the latter is significant, it may
>>>>>>> contribute to the difference seen by teo_update() and cause extra
>>>>>>> "intercepts" to appear.
>>>>>>
>>>>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
>>>>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
>>>>>> for three reasons:
>>>>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
>>>>>> even though for most cases we don't incur the entry latency)
>>>>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
>>>>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
>>>>>> possibly have been entered as not the entire cluster is idle.
>>>>>>
>>>>>> Nonetheless these are all just a "intercept counting is significantly more likely"
>>>>>> while the results show not a single state >0 entered => the intercept logic
>>>>>> probably triggers every cpuidle entry.
>>>>>
>>>>> It has to for this to happen, if timers are not frequent enough.
>>>>>
>>>>>> Feels like there should be an issue in the feedback loop.
>>>>>
>>>>> I'm wondering what the issue could be though.  The change in commit
>>>>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
>>>>> selected and it only really changes the sleep length value from
>>>>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
>>>>>
>>>>> It may turn an "intercept" into a "hit", but only if the CPU is not
>>>>> woken up by the tick because those cases had been already counted as
>>>>> "hits" before commit 4b20b07ce72f.
>>>>>
>>>>> Now, if the majority of wakeups in the workload are tick wakeups, the
>>>>> only real difference appears to be the presence of
>>>>> tick_nohz_get_sleep_length() in that code path.
>>>>>
>>>>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
>>>>> right before the "goto out_tick" statement (in 6.12 that should be
>>>>> line 426) and see what happens.
>>>>
>>>> Just tried this quickly. Results attached. It goes back to behaving
>>>> the same as 6.6 - about 2% WFI.
>>>
>>> Thanks for checking this!  It means that the
>>> tick_nohz_get_sleep_length() overhead doesn't matter here that much.
>>>
>>> Instead of making the change above, can you please try the 6.12
>>> equivalent of the attached patch?
>>>
>>> Or alternatively, apply this one to the mainline and see if it changes
>>> the idle states selection proportions?
> 
> It doesn't seem to have an effect. Results are attached for both 6.12
> (6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
> 100% WFI and mainline is about 20% WFI on average, the same as before.
> 
>>
>> I don't quite follow this.
>> While I don't really believe that the tick_nohz_get_sleep_length() overhead
>> plays a role here, how does removing that assignment prove it isn't?
>>
>> The below (if that's what you meant) might lead to the overhead being optimized
>> out? [1]
> 
> Oh true. I tried the diff below instead (which I think should avoid
> that?). This also behaves the same as 6.6. Results attached as
> 6_12_sleep_length2.

Thanks for testing

> 
> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> index 173ddcac540a..3c9595bc6c80 100644
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
> struct cpuidle_device *dev,
>                  * We have to query the sleep length here otherwise we don't
>                  * know after wakeup if our guess was correct.
>                  */
> -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
> -               cpu_data->sleep_length_ns = duration_ns;
> +               volatile s64 __maybe_unused duration_volatile_ns =
> tick_nohz_get_sleep_length(&delta_tick);
>                 goto out_tick;
>         }
> 
>> I'd be curious if [2] behaves like 6.12. So far I haven't been able to
>> reproduce the issue Reka is seeing.
> 
> Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.
> 

Hmm interesting.

>> There's one oddity that immediately came to mind: state1 and state2 having
>> the same residency (slightly different latency though), but when I set these
>> as such teo works fine. So I don't think it is an issue here.
>>
>> If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
>> length values are here (they must be <1ms, but do in fact never trigger?).
> 
> In case it's helpful, I've attached a trace (trace_duration.dat) which
> includes a trace_printk of the duration_ns at this point (on top of
> unmodified 6.12).
While I was gonna ask for this anyway, it's not that useful (duration_ns is some
time in the far future, most wakeups are obviously ticks).
May I ask you to run the following hopefully one last time, just to check if we're
not missing something here:

-----8<-----

diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
index 173ddcac540a..f4cd648133e7 100644
--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -237,6 +237,28 @@ static void teo_update(struct cpuidle_driver *drv, struct cpuidle_device *dev)
        else
                cpu_data->state_bins[idx_duration].intercepts += PULSE;
 
+       if (dev->cpu == 7) {
+               char buf[1024];
+               size_t off;
+
+               off = scnprintf(buf, sizeof(buf),
+                     "cpu=%d last_state_idx=%d state_count=%u "
+                     "total=%u sleep_len_ns=%llu last_residency_ns=%llu measured_ns=%llu "
+                     "lat_ns=%llu idx_timer=%d idx_duration=%d tick_hits=%u | bins:",
+                     dev->cpu, dev->last_state_idx, drv->state_count, cpu_data->total,
+                     cpu_data->sleep_length_ns, dev->last_residency_ns, measured_ns,
+                     drv->states[dev->last_state_idx].exit_latency_ns,
+                     idx_timer, idx_duration, cpu_data->tick_hits);
+
+               for (i = 0; i < drv->state_count && off < sizeof(buf); i++) {
+                       struct teo_bin *bin = &cpu_data->state_bins[i];
+
+                       off += scnprintf(buf + off, sizeof(buf) - off,
+                                     " [%d]h=%u,i=%u,tr=%lld", i, bin->hits,
+                                     bin->intercepts, drv->states[i].target_residency_ns);
+               }
+               trace_printk("teo_update %s\n", buf);
+       }
 end:
        cpu_data->total += PULSE;
 }

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-10  6:10                 ` Reka Norman
  2025-11-10 12:06                   ` Christian Loehle
@ 2025-11-10 20:51                   ` Rafael J. Wysocki
  1 sibling, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-10 20:51 UTC (permalink / raw)
  To: Reka Norman, Christian Loehle; +Cc: daniel.lezcano, linux-pm

On Mon, Nov 10, 2025 at 7:11 AM Reka Norman <rekanorman@chromium.org> wrote:
>
> On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
> <christian.loehle@arm.com> wrote:
> >
> > On 11/7/25 11:35, Rafael J. Wysocki wrote:
> > > On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
> > >>
> > >> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > >>>
> > >>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
> > >>> <christian.loehle@arm.com> wrote:
> > >>>>
> > >>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
> > >>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
> > >>>>> <christian.loehle@arm.com> wrote:
> > >>>>>>
> > >>>>>> On 11/4/25 09:03, Christian Loehle wrote:
> > >>>>>>> On 11/4/25 03:36, Reka Norman wrote:
> > >>>>>>>> Hi,
> > >>>>>>>>
> > >>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> > >>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
> > >>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> > >>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> > >>>>>>>>
> > >>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
> > >>>>>>>>
> > >>>>>>>> Bisecting showed the specific commit which caused the regression is:
> > >>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > >>>>>>>>
> > >>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
> > >>>>>>>> of minutes after boot, with the device having been idle since boot.
> > >>>>>>>> The cases tested are:
> > >>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
> > >>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> > >>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> > >>>>>>>>
> > >>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
> > >>>>>>>>
> > >>>>>>>> |            |   6.6 |  6.12 | mainline |
> > >>>>>>>> |------------|------:|------:|---------:|
> > >>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
> > >>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
> > >>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
> > >>>>>>>> | s2idle     |     0 |     0 |        0 |
> > >>>>>>>>
> > >>>>>>>> Any help would be much appreciated. Let me know if there's any other
> > >>>>>>>> debugging information I should provide.
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>> That's not good.
> > >>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
> > >>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> > >>>>>>> than I would've expected?
> > >>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
> > >>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> > >>>>>>>
> > >>>>>>> I'm a bit puzzled by your bisect results.
> > >>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > >>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
> > >>>>>>> seems to count more of them? (resulting in more WFI).
> > >>>>>>> I'll think about it some more, for now of course a trace would be very
> > >>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
> > >>>>>>> Are there ever any latency constraints set?
> > >>>>>>>
> > >>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
> > >>>>>>> anyway:
> > >>>>>>> Cluster       State           above   below   usage   above%  below%
> > >>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> > >>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> > >>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> > >>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> > >>>>>>> BIG   cpuoff-b        0       1       1       —       —
> > >>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> > >>>>>>>
> > >>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> > >>>>>>> savings compared to cpuoff should be marginal anyway.)
> > >>>>>>>
> > >>>>>>> Do you mind trying:
> > >>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> > >>>>>>> on 6.12?
> > >>>>>>>
> > >>>>>>
> > >>>>>> So just thinking out loud, the only case I can actually thing of to explain your
> > >>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> > >>>>>> is that the workload essentially changed dramatically because of our calls
> > >>>>>> to tick_nohz_get_sleep_length() now.
> > >>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
> > >>>>>> cause. That's why results with
> > >>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> > >>>>>> would be interesting.
> > >>>>>
> > >>>>> My current theory is that this issue is related to the
> > >>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
> > >>>>> distinguished from "hits" in teo.
> > >>>>>
> > >>>>> Namely, teo assumes that its own overhead is negligible and so it
> > >>>>> counts a given event as an "intercept" if the measured time spent in
> > >>>>> the idle state (with the exit latency roughly taken into account)
> > >>>>> falls into a different "state bin" than the sleep length (the expected
> > >>>>> time till the next timer).  However, the sleep length is computed as a
> > >>>>> difference between the upcoming timer wakeup event time and
> > >>>>> ts->idle_entrytime, so it actually includes the time taken by
> > >>>>> tick_nohz_next_event().  If the latter is significant, it may
> > >>>>> contribute to the difference seen by teo_update() and cause extra
> > >>>>> "intercepts" to appear.
> > >>>>
> > >>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
> > >>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
> > >>>> for three reasons:
> > >>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
> > >>>> even though for most cases we don't incur the entry latency)
> > >>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
> > >>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
> > >>>> possibly have been entered as not the entire cluster is idle.
> > >>>>
> > >>>> Nonetheless these are all just a "intercept counting is significantly more likely"
> > >>>> while the results show not a single state >0 entered => the intercept logic
> > >>>> probably triggers every cpuidle entry.
> > >>>
> > >>> It has to for this to happen, if timers are not frequent enough.
> > >>>
> > >>>> Feels like there should be an issue in the feedback loop.
> > >>>
> > >>> I'm wondering what the issue could be though.  The change in commit
> > >>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
> > >>> selected and it only really changes the sleep length value from
> > >>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
> > >>>
> > >>> It may turn an "intercept" into a "hit", but only if the CPU is not
> > >>> woken up by the tick because those cases had been already counted as
> > >>> "hits" before commit 4b20b07ce72f.
> > >>>
> > >>> Now, if the majority of wakeups in the workload are tick wakeups, the
> > >>> only real difference appears to be the presence of
> > >>> tick_nohz_get_sleep_length() in that code path.
> > >>>
> > >>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
> > >>> right before the "goto out_tick" statement (in 6.12 that should be
> > >>> line 426) and see what happens.
> > >>
> > >> Just tried this quickly. Results attached. It goes back to behaving
> > >> the same as 6.6 - about 2% WFI.
> > >
> > > Thanks for checking this!  It means that the
> > > tick_nohz_get_sleep_length() overhead doesn't matter here that much.
> > >
> > > Instead of making the change above, can you please try the 6.12
> > > equivalent of the attached patch?
> > >
> > > Or alternatively, apply this one to the mainline and see if it changes
> > > the idle states selection proportions?
>
> It doesn't seem to have an effect. Results are attached for both 6.12
> (6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
> 100% WFI and mainline is about 20% WFI on average, the same as before.

This means that the issue is there regardless of how tick wakeups are counted.

> >
> > I don't quite follow this.
> > While I don't really believe that the tick_nohz_get_sleep_length() overhead
> > plays a role here, how does removing that assignment prove it isn't?
> >
> > The below (if that's what you meant) might lead to the overhead being optimized
> > out? [1]

It might, but I only wanted to say that the overhead of
tick_nohz_get_sleep_length() in the idx == 0 path is most likely
irrelevant to the problem at hand.  Sorry for the confusion.

> Oh true. I tried the diff below instead (which I think should avoid
> that?). This also behaves the same as 6.6. Results attached as
> 6_12_sleep_length2.
>
> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> index 173ddcac540a..3c9595bc6c80 100644
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
> struct cpuidle_device *dev,
>                  * We have to query the sleep length here otherwise we don't
>                  * know after wakeup if our guess was correct.
>                  */
> -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
> -               cpu_data->sleep_length_ns = duration_ns;
> +               volatile s64 __maybe_unused duration_volatile_ns =
> tick_nohz_get_sleep_length(&delta_tick);
>                 goto out_tick;
>         }
>
> > I'd be curious if [2] behaves like 6.12. So far I haven't been able to
> > reproduce the issue Reka is seeing.
>
> Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.

If the tick period is 10 ms, TICK_NSEC / 2 is well above the target
residency of the deepest idle state, so the only thing that can be
affected by [2] is the check in teo_reflect() and we have just
established that removing that check altogether doesn't make a
difference.

So this appears to be consistent with the observation that the check
in teo_reflect() is not related directly to the issue at hand.

> > There's one oddity that immediately came to mind: state1 and state2 having
> > the same residency (slightly different latency though), but when I set these
> > as such teo works fine. So I don't think it is an issue here.

I agree.

With the tick period of 10 ms, the only case in which the tick can be
stopped is when the deepest idle state is selected, but that can only
happen if the pattern of wakeups is not dominated by intercepts.
That's why removing intercepts from the picture causes it to look
"better".

Evidently, intercepts are there both in 6.12 and in the mainline and
while we may be wondering whether or not they are real intercepts, I'm
not sure if this actually matters.

To me, the primary question is what had caused these intercepts to not
be there before 6.12 and quite frankly I'm not sure what it was ATM.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-10 12:06                   ` Christian Loehle
@ 2025-11-11  4:23                     ` Reka Norman
  2025-11-11 10:00                       ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Reka Norman @ 2025-11-11  4:23 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 12852 bytes --]

On Mon, Nov 10, 2025 at 11:06 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/10/25 06:10, Reka Norman wrote:
> > On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/7/25 11:35, Rafael J. Wysocki wrote:
> >>> On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
> >>>>
> >>>> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>>>>
> >>>>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
> >>>>> <christian.loehle@arm.com> wrote:
> >>>>>>
> >>>>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
> >>>>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
> >>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>
> >>>>>>>> On 11/4/25 09:03, Christian Loehle wrote:
> >>>>>>>>> On 11/4/25 03:36, Reka Norman wrote:
> >>>>>>>>>> Hi,
> >>>>>>>>>>
> >>>>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> >>>>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
> >>>>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> >>>>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> >>>>>>>>>>
> >>>>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
> >>>>>>>>>>
> >>>>>>>>>> Bisecting showed the specific commit which caused the regression is:
> >>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>>>>>>
> >>>>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
> >>>>>>>>>> of minutes after boot, with the device having been idle since boot.
> >>>>>>>>>> The cases tested are:
> >>>>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
> >>>>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> >>>>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> >>>>>>>>>>
> >>>>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
> >>>>>>>>>>
> >>>>>>>>>> |            |   6.6 |  6.12 | mainline |
> >>>>>>>>>> |------------|------:|------:|---------:|
> >>>>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
> >>>>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
> >>>>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
> >>>>>>>>>> | s2idle     |     0 |     0 |        0 |
> >>>>>>>>>>
> >>>>>>>>>> Any help would be much appreciated. Let me know if there's any other
> >>>>>>>>>> debugging information I should provide.
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> That's not good.
> >>>>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
> >>>>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> >>>>>>>>> than I would've expected?
> >>>>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
> >>>>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> >>>>>>>>>
> >>>>>>>>> I'm a bit puzzled by your bisect results.
> >>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
> >>>>>>>>> seems to count more of them? (resulting in more WFI).
> >>>>>>>>> I'll think about it some more, for now of course a trace would be very
> >>>>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
> >>>>>>>>> Are there ever any latency constraints set?
> >>>>>>>>>
> >>>>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
> >>>>>>>>> anyway:
> >>>>>>>>> Cluster       State           above   below   usage   above%  below%
> >>>>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> >>>>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> >>>>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> >>>>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> >>>>>>>>> BIG   cpuoff-b        0       1       1       —       —
> >>>>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> >>>>>>>>>
> >>>>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> >>>>>>>>> savings compared to cpuoff should be marginal anyway.)
> >>>>>>>>>
> >>>>>>>>> Do you mind trying:
> >>>>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> >>>>>>>>> on 6.12?
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> So just thinking out loud, the only case I can actually thing of to explain your
> >>>>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>>>> is that the workload essentially changed dramatically because of our calls
> >>>>>>>> to tick_nohz_get_sleep_length() now.
> >>>>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
> >>>>>>>> cause. That's why results with
> >>>>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> >>>>>>>> would be interesting.
> >>>>>>>
> >>>>>>> My current theory is that this issue is related to the
> >>>>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
> >>>>>>> distinguished from "hits" in teo.
> >>>>>>>
> >>>>>>> Namely, teo assumes that its own overhead is negligible and so it
> >>>>>>> counts a given event as an "intercept" if the measured time spent in
> >>>>>>> the idle state (with the exit latency roughly taken into account)
> >>>>>>> falls into a different "state bin" than the sleep length (the expected
> >>>>>>> time till the next timer).  However, the sleep length is computed as a
> >>>>>>> difference between the upcoming timer wakeup event time and
> >>>>>>> ts->idle_entrytime, so it actually includes the time taken by
> >>>>>>> tick_nohz_next_event().  If the latter is significant, it may
> >>>>>>> contribute to the difference seen by teo_update() and cause extra
> >>>>>>> "intercepts" to appear.
> >>>>>>
> >>>>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
> >>>>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
> >>>>>> for three reasons:
> >>>>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
> >>>>>> even though for most cases we don't incur the entry latency)
> >>>>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
> >>>>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
> >>>>>> possibly have been entered as not the entire cluster is idle.
> >>>>>>
> >>>>>> Nonetheless these are all just a "intercept counting is significantly more likely"
> >>>>>> while the results show not a single state >0 entered => the intercept logic
> >>>>>> probably triggers every cpuidle entry.
> >>>>>
> >>>>> It has to for this to happen, if timers are not frequent enough.
> >>>>>
> >>>>>> Feels like there should be an issue in the feedback loop.
> >>>>>
> >>>>> I'm wondering what the issue could be though.  The change in commit
> >>>>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
> >>>>> selected and it only really changes the sleep length value from
> >>>>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
> >>>>>
> >>>>> It may turn an "intercept" into a "hit", but only if the CPU is not
> >>>>> woken up by the tick because those cases had been already counted as
> >>>>> "hits" before commit 4b20b07ce72f.
> >>>>>
> >>>>> Now, if the majority of wakeups in the workload are tick wakeups, the
> >>>>> only real difference appears to be the presence of
> >>>>> tick_nohz_get_sleep_length() in that code path.
> >>>>>
> >>>>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
> >>>>> right before the "goto out_tick" statement (in 6.12 that should be
> >>>>> line 426) and see what happens.
> >>>>
> >>>> Just tried this quickly. Results attached. It goes back to behaving
> >>>> the same as 6.6 - about 2% WFI.
> >>>
> >>> Thanks for checking this!  It means that the
> >>> tick_nohz_get_sleep_length() overhead doesn't matter here that much.
> >>>
> >>> Instead of making the change above, can you please try the 6.12
> >>> equivalent of the attached patch?
> >>>
> >>> Or alternatively, apply this one to the mainline and see if it changes
> >>> the idle states selection proportions?
> >
> > It doesn't seem to have an effect. Results are attached for both 6.12
> > (6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
> > 100% WFI and mainline is about 20% WFI on average, the same as before.
> >
> >>
> >> I don't quite follow this.
> >> While I don't really believe that the tick_nohz_get_sleep_length() overhead
> >> plays a role here, how does removing that assignment prove it isn't?
> >>
> >> The below (if that's what you meant) might lead to the overhead being optimized
> >> out? [1]
> >
> > Oh true. I tried the diff below instead (which I think should avoid
> > that?). This also behaves the same as 6.6. Results attached as
> > 6_12_sleep_length2.
>
> Thanks for testing
>
> >
> > diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > index 173ddcac540a..3c9595bc6c80 100644
> > --- a/drivers/cpuidle/governors/teo.c
> > +++ b/drivers/cpuidle/governors/teo.c
> > @@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
> > struct cpuidle_device *dev,
> >                  * We have to query the sleep length here otherwise we don't
> >                  * know after wakeup if our guess was correct.
> >                  */
> > -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
> > -               cpu_data->sleep_length_ns = duration_ns;
> > +               volatile s64 __maybe_unused duration_volatile_ns =
> > tick_nohz_get_sleep_length(&delta_tick);
> >                 goto out_tick;
> >         }
> >
> >> I'd be curious if [2] behaves like 6.12. So far I haven't been able to
> >> reproduce the issue Reka is seeing.
> >
> > Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.
> >
>
> Hmm interesting.
>
> >> There's one oddity that immediately came to mind: state1 and state2 having
> >> the same residency (slightly different latency though), but when I set these
> >> as such teo works fine. So I don't think it is an issue here.
> >>
> >> If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
> >> length values are here (they must be <1ms, but do in fact never trigger?).
> >
> > In case it's helpful, I've attached a trace (trace_duration.dat) which
> > includes a trace_printk of the duration_ns at this point (on top of
> > unmodified 6.12).
> While I was gonna ask for this anyway, it's not that useful (duration_ns is some
> time in the far future, most wakeups are obviously ticks).
> May I ask you to run the following hopefully one last time, just to check if we're
> not missing something here:

Trace attached.

>
> -----8<-----
>
> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> index 173ddcac540a..f4cd648133e7 100644
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -237,6 +237,28 @@ static void teo_update(struct cpuidle_driver *drv, struct cpuidle_device *dev)
>         else
>                 cpu_data->state_bins[idx_duration].intercepts += PULSE;
>
> +       if (dev->cpu == 7) {
> +               char buf[1024];
> +               size_t off;
> +
> +               off = scnprintf(buf, sizeof(buf),
> +                     "cpu=%d last_state_idx=%d state_count=%u "
> +                     "total=%u sleep_len_ns=%llu last_residency_ns=%llu measured_ns=%llu "
> +                     "lat_ns=%llu idx_timer=%d idx_duration=%d tick_hits=%u | bins:",
> +                     dev->cpu, dev->last_state_idx, drv->state_count, cpu_data->total,
> +                     cpu_data->sleep_length_ns, dev->last_residency_ns, measured_ns,
> +                     drv->states[dev->last_state_idx].exit_latency_ns,
> +                     idx_timer, idx_duration, cpu_data->tick_hits);
> +
> +               for (i = 0; i < drv->state_count && off < sizeof(buf); i++) {
> +                       struct teo_bin *bin = &cpu_data->state_bins[i];
> +
> +                       off += scnprintf(buf + off, sizeof(buf) - off,
> +                                     " [%d]h=%u,i=%u,tr=%lld", i, bin->hits,
> +                                     bin->intercepts, drv->states[i].target_residency_ns);
> +               }
> +               trace_printk("teo_update %s\n", buf);
> +       }
>  end:
>         cpu_data->total += PULSE;
>  }

[-- Attachment #2: trace.dat --]
[-- Type: application/octet-stream, Size: 3488132 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-11  4:23                     ` Reka Norman
@ 2025-11-11 10:00                       ` Christian Loehle
  2025-11-11 10:48                         ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-11 10:00 UTC (permalink / raw)
  To: Reka Norman; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

On 11/11/25 04:23, Reka Norman wrote:
> On Mon, Nov 10, 2025 at 11:06 PM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/10/25 06:10, Reka Norman wrote:
>>> On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
>>> <christian.loehle@arm.com> wrote:
>>>>
>>>> On 11/7/25 11:35, Rafael J. Wysocki wrote:
>>>>> On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
>>>>>>
>>>>>> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>>>>>
>>>>>>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>
>>>>>>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
>>>>>>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>
>>>>>>>>>> On 11/4/25 09:03, Christian Loehle wrote:
>>>>>>>>>>> On 11/4/25 03:36, Reka Norman wrote:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>>>>>>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
>>>>>>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>>>>>>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>>>>>>>>>>>
>>>>>>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
>>>>>>>>>>>>
>>>>>>>>>>>> Bisecting showed the specific commit which caused the regression is:
>>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>>
>>>>>>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>>>>>>>>>>>> of minutes after boot, with the device having been idle since boot.
>>>>>>>>>>>> The cases tested are:
>>>>>>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
>>>>>>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>>>>>>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>>>>>>>>>>>
>>>>>>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
>>>>>>>>>>>>
>>>>>>>>>>>> |            |   6.6 |  6.12 | mainline |
>>>>>>>>>>>> |------------|------:|------:|---------:|
>>>>>>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
>>>>>>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
>>>>>>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
>>>>>>>>>>>> | s2idle     |     0 |     0 |        0 |
>>>>>>>>>>>>
>>>>>>>>>>>> Any help would be much appreciated. Let me know if there's any other
>>>>>>>>>>>> debugging information I should provide.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> That's not good.
>>>>>>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
>>>>>>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
>>>>>>>>>>> than I would've expected?
>>>>>>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
>>>>>>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
>>>>>>>>>>>
>>>>>>>>>>> I'm a bit puzzled by your bisect results.
>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
>>>>>>>>>>> seems to count more of them? (resulting in more WFI).
>>>>>>>>>>> I'll think about it some more, for now of course a trace would be very
>>>>>>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
>>>>>>>>>>> Are there ever any latency constraints set?
>>>>>>>>>>>
>>>>>>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
>>>>>>>>>>> anyway:
>>>>>>>>>>> Cluster       State           above   below   usage   above%  below%
>>>>>>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
>>>>>>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
>>>>>>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
>>>>>>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
>>>>>>>>>>> BIG   cpuoff-b        0       1       1       —       —
>>>>>>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
>>>>>>>>>>>
>>>>>>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
>>>>>>>>>>> savings compared to cpuoff should be marginal anyway.)
>>>>>>>>>>>
>>>>>>>>>>> Do you mind trying:
>>>>>>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
>>>>>>>>>>> on 6.12?
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> So just thinking out loud, the only case I can actually thing of to explain your
>>>>>>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>> is that the workload essentially changed dramatically because of our calls
>>>>>>>>>> to tick_nohz_get_sleep_length() now.
>>>>>>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
>>>>>>>>>> cause. That's why results with
>>>>>>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
>>>>>>>>>> would be interesting.
>>>>>>>>>
>>>>>>>>> My current theory is that this issue is related to the
>>>>>>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
>>>>>>>>> distinguished from "hits" in teo.
>>>>>>>>>
>>>>>>>>> Namely, teo assumes that its own overhead is negligible and so it
>>>>>>>>> counts a given event as an "intercept" if the measured time spent in
>>>>>>>>> the idle state (with the exit latency roughly taken into account)
>>>>>>>>> falls into a different "state bin" than the sleep length (the expected
>>>>>>>>> time till the next timer).  However, the sleep length is computed as a
>>>>>>>>> difference between the upcoming timer wakeup event time and
>>>>>>>>> ts->idle_entrytime, so it actually includes the time taken by
>>>>>>>>> tick_nohz_next_event().  If the latter is significant, it may
>>>>>>>>> contribute to the difference seen by teo_update() and cause extra
>>>>>>>>> "intercepts" to appear.
>>>>>>>>
>>>>>>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
>>>>>>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
>>>>>>>> for three reasons:
>>>>>>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
>>>>>>>> even though for most cases we don't incur the entry latency)
>>>>>>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
>>>>>>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
>>>>>>>> possibly have been entered as not the entire cluster is idle.
>>>>>>>>
>>>>>>>> Nonetheless these are all just a "intercept counting is significantly more likely"
>>>>>>>> while the results show not a single state >0 entered => the intercept logic
>>>>>>>> probably triggers every cpuidle entry.
>>>>>>>
>>>>>>> It has to for this to happen, if timers are not frequent enough.
>>>>>>>
>>>>>>>> Feels like there should be an issue in the feedback loop.
>>>>>>>
>>>>>>> I'm wondering what the issue could be though.  The change in commit
>>>>>>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
>>>>>>> selected and it only really changes the sleep length value from
>>>>>>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
>>>>>>>
>>>>>>> It may turn an "intercept" into a "hit", but only if the CPU is not
>>>>>>> woken up by the tick because those cases had been already counted as
>>>>>>> "hits" before commit 4b20b07ce72f.
>>>>>>>
>>>>>>> Now, if the majority of wakeups in the workload are tick wakeups, the
>>>>>>> only real difference appears to be the presence of
>>>>>>> tick_nohz_get_sleep_length() in that code path.
>>>>>>>
>>>>>>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
>>>>>>> right before the "goto out_tick" statement (in 6.12 that should be
>>>>>>> line 426) and see what happens.
>>>>>>
>>>>>> Just tried this quickly. Results attached. It goes back to behaving
>>>>>> the same as 6.6 - about 2% WFI.
>>>>>
>>>>> Thanks for checking this!  It means that the
>>>>> tick_nohz_get_sleep_length() overhead doesn't matter here that much.
>>>>>
>>>>> Instead of making the change above, can you please try the 6.12
>>>>> equivalent of the attached patch?
>>>>>
>>>>> Or alternatively, apply this one to the mainline and see if it changes
>>>>> the idle states selection proportions?
>>>
>>> It doesn't seem to have an effect. Results are attached for both 6.12
>>> (6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
>>> 100% WFI and mainline is about 20% WFI on average, the same as before.
>>>
>>>>
>>>> I don't quite follow this.
>>>> While I don't really believe that the tick_nohz_get_sleep_length() overhead
>>>> plays a role here, how does removing that assignment prove it isn't?
>>>>
>>>> The below (if that's what you meant) might lead to the overhead being optimized
>>>> out? [1]
>>>
>>> Oh true. I tried the diff below instead (which I think should avoid
>>> that?). This also behaves the same as 6.6. Results attached as
>>> 6_12_sleep_length2.
>>
>> Thanks for testing
>>
>>>
>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>> index 173ddcac540a..3c9595bc6c80 100644
>>> --- a/drivers/cpuidle/governors/teo.c
>>> +++ b/drivers/cpuidle/governors/teo.c
>>> @@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
>>> struct cpuidle_device *dev,
>>>                  * We have to query the sleep length here otherwise we don't
>>>                  * know after wakeup if our guess was correct.
>>>                  */
>>> -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
>>> -               cpu_data->sleep_length_ns = duration_ns;
>>> +               volatile s64 __maybe_unused duration_volatile_ns =
>>> tick_nohz_get_sleep_length(&delta_tick);
>>>                 goto out_tick;
>>>         }
>>>
>>>> I'd be curious if [2] behaves like 6.12. So far I haven't been able to
>>>> reproduce the issue Reka is seeing.
>>>
>>> Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.
>>>
>>
>> Hmm interesting.
>>
>>>> There's one oddity that immediately came to mind: state1 and state2 having
>>>> the same residency (slightly different latency though), but when I set these
>>>> as such teo works fine. So I don't think it is an issue here.
>>>>
>>>> If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
>>>> length values are here (they must be <1ms, but do in fact never trigger?).
>>>
>>> In case it's helpful, I've attached a trace (trace_duration.dat) which
>>> includes a trace_printk of the duration_ns at this point (on top of
>>> unmodified 6.12).
>> While I was gonna ask for this anyway, it's not that useful (duration_ns is some
>> time in the far future, most wakeups are obviously ticks).
>> May I ask you to run the following hopefully one last time, just to check if we're
>> not missing something here:
> 
> Trace attached.
> 

Thank you!
So the intercept bin counts themselves aren't the issue:
          <idle>-0     [007] d..1.  1097.218324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=62615312 last_residency_ns=997307 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
          <idle>-0     [007] d..1.  1097.218324: cpu_idle:             state=0 cpu_id=7
          <idle>-0     [007] d..1.  1097.219321: cpu_idle:             state=4294967295 cpu_id=7
          <idle>-0     [007] d.h1.  1097.219322: irq_handler_entry:    irq=19 name=arch_timer
          <idle>-0     [007] d.h1.  1097.219323: irq_handler_exit:     irq=19 ret=handled
          <idle>-0     [007] d..1.  1097.219324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=61615389 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
          <idle>-0     [007] d..1.  1097.219324: cpu_idle:             state=0 cpu_id=7
          <idle>-0     [007] d..1.  1097.220321: cpu_idle:             state=4294967295 cpu_id=7
          <idle>-0     [007] d.h1.  1097.220322: irq_handler_entry:    irq=19 name=arch_timer
          <idle>-0     [007] d.h1.  1097.220323: irq_handler_exit:     irq=19 ret=handled
          <idle>-0     [007] d..1.  1097.220324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=60615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
          <idle>-0     [007] d..1.  1097.220324: cpu_idle:             state=0 cpu_id=7
          <idle>-0     [007] d..1.  1097.221321: cpu_idle:             state=4294967295 cpu_id=7
          <idle>-0     [007] d.h1.  1097.221322: irq_handler_entry:    irq=19 name=arch_timer
          <idle>-0     [007] d.h1.  1097.221323: irq_handler_exit:     irq=19 ret=handled
          <idle>-0     [007] d..1.  1097.221324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=59615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000


386         if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum)
will be 2*7 > 8206 - (7 + 8192) => True
The intercept state selection will choose a state that covers at least half of the
intercepts, but only bin 0 has intercepts at all => state0 selected.

I see two issues:
1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
have been a really good candidate actually).

I lightly tested the below, it seems to be at least comparable to mainline teo.
(the documentation/comments would need adapting too, of course)

-----8<-----

diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
index bfa55c1eab5b..f8f76e3b8364 100644
--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
         * all of the deeper states, a shallower idle state is likely to be a
         * better choice.
         */
-       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
+       if (2 * idx_intercept_sum > idx_hit_sum) {
                int first_suitable_idx = idx;
 
                /*


^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-11 10:00                       ` Christian Loehle
@ 2025-11-11 10:48                         ` Christian Loehle
  2025-11-11 11:48                           ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-11 10:48 UTC (permalink / raw)
  To: Reka Norman; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

On 11/11/25 10:00, Christian Loehle wrote:
> On 11/11/25 04:23, Reka Norman wrote:
>> On Mon, Nov 10, 2025 at 11:06 PM Christian Loehle
>> <christian.loehle@arm.com> wrote:
>>>
>>> On 11/10/25 06:10, Reka Norman wrote:
>>>> On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
>>>> <christian.loehle@arm.com> wrote:
>>>>>
>>>>> On 11/7/25 11:35, Rafael J. Wysocki wrote:
>>>>>> On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
>>>>>>>
>>>>>>> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>>>>>>
>>>>>>>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>
>>>>>>>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
>>>>>>>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
>>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> On 11/4/25 09:03, Christian Loehle wrote:
>>>>>>>>>>>> On 11/4/25 03:36, Reka Norman wrote:
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>>>>>>>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
>>>>>>>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>>>>>>>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Bisecting showed the specific commit which caused the regression is:
>>>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>>>
>>>>>>>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>>>>>>>>>>>>> of minutes after boot, with the device having been idle since boot.
>>>>>>>>>>>>> The cases tested are:
>>>>>>>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
>>>>>>>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>>>>>>>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>>>>>>>>>>>>
>>>>>>>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
>>>>>>>>>>>>>
>>>>>>>>>>>>> |            |   6.6 |  6.12 | mainline |
>>>>>>>>>>>>> |------------|------:|------:|---------:|
>>>>>>>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
>>>>>>>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
>>>>>>>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
>>>>>>>>>>>>> | s2idle     |     0 |     0 |        0 |
>>>>>>>>>>>>>
>>>>>>>>>>>>> Any help would be much appreciated. Let me know if there's any other
>>>>>>>>>>>>> debugging information I should provide.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> That's not good.
>>>>>>>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
>>>>>>>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
>>>>>>>>>>>> than I would've expected?
>>>>>>>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
>>>>>>>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
>>>>>>>>>>>>
>>>>>>>>>>>> I'm a bit puzzled by your bisect results.
>>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
>>>>>>>>>>>> seems to count more of them? (resulting in more WFI).
>>>>>>>>>>>> I'll think about it some more, for now of course a trace would be very
>>>>>>>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
>>>>>>>>>>>> Are there ever any latency constraints set?
>>>>>>>>>>>>
>>>>>>>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
>>>>>>>>>>>> anyway:
>>>>>>>>>>>> Cluster       State           above   below   usage   above%  below%
>>>>>>>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
>>>>>>>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
>>>>>>>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
>>>>>>>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
>>>>>>>>>>>> BIG   cpuoff-b        0       1       1       —       —
>>>>>>>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
>>>>>>>>>>>>
>>>>>>>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
>>>>>>>>>>>> savings compared to cpuoff should be marginal anyway.)
>>>>>>>>>>>>
>>>>>>>>>>>> Do you mind trying:
>>>>>>>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
>>>>>>>>>>>> on 6.12?
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> So just thinking out loud, the only case I can actually thing of to explain your
>>>>>>>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>> is that the workload essentially changed dramatically because of our calls
>>>>>>>>>>> to tick_nohz_get_sleep_length() now.
>>>>>>>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
>>>>>>>>>>> cause. That's why results with
>>>>>>>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
>>>>>>>>>>> would be interesting.
>>>>>>>>>>
>>>>>>>>>> My current theory is that this issue is related to the
>>>>>>>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
>>>>>>>>>> distinguished from "hits" in teo.
>>>>>>>>>>
>>>>>>>>>> Namely, teo assumes that its own overhead is negligible and so it
>>>>>>>>>> counts a given event as an "intercept" if the measured time spent in
>>>>>>>>>> the idle state (with the exit latency roughly taken into account)
>>>>>>>>>> falls into a different "state bin" than the sleep length (the expected
>>>>>>>>>> time till the next timer).  However, the sleep length is computed as a
>>>>>>>>>> difference between the upcoming timer wakeup event time and
>>>>>>>>>> ts->idle_entrytime, so it actually includes the time taken by
>>>>>>>>>> tick_nohz_next_event().  If the latter is significant, it may
>>>>>>>>>> contribute to the difference seen by teo_update() and cause extra
>>>>>>>>>> "intercepts" to appear.
>>>>>>>>>
>>>>>>>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
>>>>>>>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
>>>>>>>>> for three reasons:
>>>>>>>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
>>>>>>>>> even though for most cases we don't incur the entry latency)
>>>>>>>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
>>>>>>>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
>>>>>>>>> possibly have been entered as not the entire cluster is idle.
>>>>>>>>>
>>>>>>>>> Nonetheless these are all just a "intercept counting is significantly more likely"
>>>>>>>>> while the results show not a single state >0 entered => the intercept logic
>>>>>>>>> probably triggers every cpuidle entry.
>>>>>>>>
>>>>>>>> It has to for this to happen, if timers are not frequent enough.
>>>>>>>>
>>>>>>>>> Feels like there should be an issue in the feedback loop.
>>>>>>>>
>>>>>>>> I'm wondering what the issue could be though.  The change in commit
>>>>>>>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
>>>>>>>> selected and it only really changes the sleep length value from
>>>>>>>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
>>>>>>>>
>>>>>>>> It may turn an "intercept" into a "hit", but only if the CPU is not
>>>>>>>> woken up by the tick because those cases had been already counted as
>>>>>>>> "hits" before commit 4b20b07ce72f.
>>>>>>>>
>>>>>>>> Now, if the majority of wakeups in the workload are tick wakeups, the
>>>>>>>> only real difference appears to be the presence of
>>>>>>>> tick_nohz_get_sleep_length() in that code path.
>>>>>>>>
>>>>>>>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
>>>>>>>> right before the "goto out_tick" statement (in 6.12 that should be
>>>>>>>> line 426) and see what happens.
>>>>>>>
>>>>>>> Just tried this quickly. Results attached. It goes back to behaving
>>>>>>> the same as 6.6 - about 2% WFI.
>>>>>>
>>>>>> Thanks for checking this!  It means that the
>>>>>> tick_nohz_get_sleep_length() overhead doesn't matter here that much.
>>>>>>
>>>>>> Instead of making the change above, can you please try the 6.12
>>>>>> equivalent of the attached patch?
>>>>>>
>>>>>> Or alternatively, apply this one to the mainline and see if it changes
>>>>>> the idle states selection proportions?
>>>>
>>>> It doesn't seem to have an effect. Results are attached for both 6.12
>>>> (6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
>>>> 100% WFI and mainline is about 20% WFI on average, the same as before.
>>>>
>>>>>
>>>>> I don't quite follow this.
>>>>> While I don't really believe that the tick_nohz_get_sleep_length() overhead
>>>>> plays a role here, how does removing that assignment prove it isn't?
>>>>>
>>>>> The below (if that's what you meant) might lead to the overhead being optimized
>>>>> out? [1]
>>>>
>>>> Oh true. I tried the diff below instead (which I think should avoid
>>>> that?). This also behaves the same as 6.6. Results attached as
>>>> 6_12_sleep_length2.
>>>
>>> Thanks for testing
>>>
>>>>
>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>> index 173ddcac540a..3c9595bc6c80 100644
>>>> --- a/drivers/cpuidle/governors/teo.c
>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>> @@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
>>>> struct cpuidle_device *dev,
>>>>                  * We have to query the sleep length here otherwise we don't
>>>>                  * know after wakeup if our guess was correct.
>>>>                  */
>>>> -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
>>>> -               cpu_data->sleep_length_ns = duration_ns;
>>>> +               volatile s64 __maybe_unused duration_volatile_ns =
>>>> tick_nohz_get_sleep_length(&delta_tick);
>>>>                 goto out_tick;
>>>>         }
>>>>
>>>>> I'd be curious if [2] behaves like 6.12. So far I haven't been able to
>>>>> reproduce the issue Reka is seeing.
>>>>
>>>> Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.
>>>>
>>>
>>> Hmm interesting.
>>>
>>>>> There's one oddity that immediately came to mind: state1 and state2 having
>>>>> the same residency (slightly different latency though), but when I set these
>>>>> as such teo works fine. So I don't think it is an issue here.
>>>>>
>>>>> If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
>>>>> length values are here (they must be <1ms, but do in fact never trigger?).
>>>>
>>>> In case it's helpful, I've attached a trace (trace_duration.dat) which
>>>> includes a trace_printk of the duration_ns at this point (on top of
>>>> unmodified 6.12).
>>> While I was gonna ask for this anyway, it's not that useful (duration_ns is some
>>> time in the far future, most wakeups are obviously ticks).
>>> May I ask you to run the following hopefully one last time, just to check if we're
>>> not missing something here:
>>
>> Trace attached.
>>
> 
> Thank you!
> So the intercept bin counts themselves aren't the issue:
>           <idle>-0     [007] d..1.  1097.218324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=62615312 last_residency_ns=997307 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>           <idle>-0     [007] d..1.  1097.218324: cpu_idle:             state=0 cpu_id=7
>           <idle>-0     [007] d..1.  1097.219321: cpu_idle:             state=4294967295 cpu_id=7
>           <idle>-0     [007] d.h1.  1097.219322: irq_handler_entry:    irq=19 name=arch_timer
>           <idle>-0     [007] d.h1.  1097.219323: irq_handler_exit:     irq=19 ret=handled
>           <idle>-0     [007] d..1.  1097.219324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=61615389 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>           <idle>-0     [007] d..1.  1097.219324: cpu_idle:             state=0 cpu_id=7
>           <idle>-0     [007] d..1.  1097.220321: cpu_idle:             state=4294967295 cpu_id=7
>           <idle>-0     [007] d.h1.  1097.220322: irq_handler_entry:    irq=19 name=arch_timer
>           <idle>-0     [007] d.h1.  1097.220323: irq_handler_exit:     irq=19 ret=handled
>           <idle>-0     [007] d..1.  1097.220324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=60615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>           <idle>-0     [007] d..1.  1097.220324: cpu_idle:             state=0 cpu_id=7
>           <idle>-0     [007] d..1.  1097.221321: cpu_idle:             state=4294967295 cpu_id=7
>           <idle>-0     [007] d.h1.  1097.221322: irq_handler_entry:    irq=19 name=arch_timer
>           <idle>-0     [007] d.h1.  1097.221323: irq_handler_exit:     irq=19 ret=handled
>           <idle>-0     [007] d..1.  1097.221324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=59615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
> 
> 
> 386         if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum)
> will be 2*7 > 8206 - (7 + 8192) => True
> The intercept state selection will choose a state that covers at least half of the
> intercepts, but only bin 0 has intercepts at all => state0 selected.
> 
> I see two issues:
> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> have been a really good candidate actually).
> 
> I lightly tested the below, it seems to be at least comparable to mainline teo.
> (the documentation/comments would need adapting too, of course)
> 
> -----8<-----
> 
> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> index bfa55c1eab5b..f8f76e3b8364 100644
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>          * all of the deeper states, a shallower idle state is likely to be a
>          * better choice.
>          */
> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>                 int first_suitable_idx = idx;
>  
>                 /*
> 
> 

... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
Maybe something like this, again lightly tested:

-----8<-----

diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
index 173ddcac540a..6bfb9cedb75e 100644
--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
                 * has been stopped already into account.
                 */
                intercept_sum = 0;
+               hit_sum = 0;
 
                for (i = idx - 1; i >= 0; i--) {
                        struct teo_bin *bin = &cpu_data->state_bins[i];
 
                        intercept_sum += bin->intercepts;
+                       hit_sum += bin->hits;
 
-                       if (2 * intercept_sum > idx_intercept_sum) {
+                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
                                /*
                                 * Use the current state unless it is too
                                 * shallow or disabled, in which case take the



^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-11 10:48                         ` Christian Loehle
@ 2025-11-11 11:48                           ` Rafael J. Wysocki
  2025-11-11 17:20                             ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-11 11:48 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Reka Norman, Rafael J. Wysocki, daniel.lezcano, linux-pm

On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/11/25 10:00, Christian Loehle wrote:
> > On 11/11/25 04:23, Reka Norman wrote:
> >> On Mon, Nov 10, 2025 at 11:06 PM Christian Loehle
> >> <christian.loehle@arm.com> wrote:
> >>>
> >>> On 11/10/25 06:10, Reka Norman wrote:
> >>>> On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
> >>>> <christian.loehle@arm.com> wrote:
> >>>>>
> >>>>> On 11/7/25 11:35, Rafael J. Wysocki wrote:
> >>>>>> On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
> >>>>>>>
> >>>>>>> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>>>>>>>
> >>>>>>>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
> >>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>
> >>>>>>>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
> >>>>>>>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
> >>>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> On 11/4/25 09:03, Christian Loehle wrote:
> >>>>>>>>>>>> On 11/4/25 03:36, Reka Norman wrote:
> >>>>>>>>>>>>> Hi,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
> >>>>>>>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
> >>>>>>>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
> >>>>>>>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Bisecting showed the specific commit which caused the regression is:
> >>>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
> >>>>>>>>>>>>> of minutes after boot, with the device having been idle since boot.
> >>>>>>>>>>>>> The cases tested are:
> >>>>>>>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
> >>>>>>>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
> >>>>>>>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> |            |   6.6 |  6.12 | mainline |
> >>>>>>>>>>>>> |------------|------:|------:|---------:|
> >>>>>>>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
> >>>>>>>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
> >>>>>>>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
> >>>>>>>>>>>>> | s2idle     |     0 |     0 |        0 |
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Any help would be much appreciated. Let me know if there's any other
> >>>>>>>>>>>>> debugging information I should provide.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> That's not good.
> >>>>>>>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
> >>>>>>>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
> >>>>>>>>>>>> than I would've expected?
> >>>>>>>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
> >>>>>>>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I'm a bit puzzled by your bisect results.
> >>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>>>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
> >>>>>>>>>>>> seems to count more of them? (resulting in more WFI).
> >>>>>>>>>>>> I'll think about it some more, for now of course a trace would be very
> >>>>>>>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
> >>>>>>>>>>>> Are there ever any latency constraints set?
> >>>>>>>>>>>>
> >>>>>>>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
> >>>>>>>>>>>> anyway:
> >>>>>>>>>>>> Cluster       State           above   below   usage   above%  below%
> >>>>>>>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
> >>>>>>>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
> >>>>>>>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
> >>>>>>>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
> >>>>>>>>>>>> BIG   cpuoff-b        0       1       1       —       —
> >>>>>>>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
> >>>>>>>>>>>>
> >>>>>>>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
> >>>>>>>>>>>> savings compared to cpuoff should be marginal anyway.)
> >>>>>>>>>>>>
> >>>>>>>>>>>> Do you mind trying:
> >>>>>>>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
> >>>>>>>>>>>> on 6.12?
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> So just thinking out loud, the only case I can actually thing of to explain your
> >>>>>>>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> >>>>>>>>>>> is that the workload essentially changed dramatically because of our calls
> >>>>>>>>>>> to tick_nohz_get_sleep_length() now.
> >>>>>>>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
> >>>>>>>>>>> cause. That's why results with
> >>>>>>>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
> >>>>>>>>>>> would be interesting.
> >>>>>>>>>>
> >>>>>>>>>> My current theory is that this issue is related to the
> >>>>>>>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
> >>>>>>>>>> distinguished from "hits" in teo.
> >>>>>>>>>>
> >>>>>>>>>> Namely, teo assumes that its own overhead is negligible and so it
> >>>>>>>>>> counts a given event as an "intercept" if the measured time spent in
> >>>>>>>>>> the idle state (with the exit latency roughly taken into account)
> >>>>>>>>>> falls into a different "state bin" than the sleep length (the expected
> >>>>>>>>>> time till the next timer).  However, the sleep length is computed as a
> >>>>>>>>>> difference between the upcoming timer wakeup event time and
> >>>>>>>>>> ts->idle_entrytime, so it actually includes the time taken by
> >>>>>>>>>> tick_nohz_next_event().  If the latter is significant, it may
> >>>>>>>>>> contribute to the difference seen by teo_update() and cause extra
> >>>>>>>>>> "intercepts" to appear.
> >>>>>>>>>
> >>>>>>>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
> >>>>>>>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
> >>>>>>>>> for three reasons:
> >>>>>>>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
> >>>>>>>>> even though for most cases we don't incur the entry latency)
> >>>>>>>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
> >>>>>>>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
> >>>>>>>>> possibly have been entered as not the entire cluster is idle.
> >>>>>>>>>
> >>>>>>>>> Nonetheless these are all just a "intercept counting is significantly more likely"
> >>>>>>>>> while the results show not a single state >0 entered => the intercept logic
> >>>>>>>>> probably triggers every cpuidle entry.
> >>>>>>>>
> >>>>>>>> It has to for this to happen, if timers are not frequent enough.
> >>>>>>>>
> >>>>>>>>> Feels like there should be an issue in the feedback loop.
> >>>>>>>>
> >>>>>>>> I'm wondering what the issue could be though.  The change in commit
> >>>>>>>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
> >>>>>>>> selected and it only really changes the sleep length value from
> >>>>>>>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
> >>>>>>>>
> >>>>>>>> It may turn an "intercept" into a "hit", but only if the CPU is not
> >>>>>>>> woken up by the tick because those cases had been already counted as
> >>>>>>>> "hits" before commit 4b20b07ce72f.
> >>>>>>>>
> >>>>>>>> Now, if the majority of wakeups in the workload are tick wakeups, the
> >>>>>>>> only real difference appears to be the presence of
> >>>>>>>> tick_nohz_get_sleep_length() in that code path.
> >>>>>>>>
> >>>>>>>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
> >>>>>>>> right before the "goto out_tick" statement (in 6.12 that should be
> >>>>>>>> line 426) and see what happens.
> >>>>>>>
> >>>>>>> Just tried this quickly. Results attached. It goes back to behaving
> >>>>>>> the same as 6.6 - about 2% WFI.
> >>>>>>
> >>>>>> Thanks for checking this!  It means that the
> >>>>>> tick_nohz_get_sleep_length() overhead doesn't matter here that much.
> >>>>>>
> >>>>>> Instead of making the change above, can you please try the 6.12
> >>>>>> equivalent of the attached patch?
> >>>>>>
> >>>>>> Or alternatively, apply this one to the mainline and see if it changes
> >>>>>> the idle states selection proportions?
> >>>>
> >>>> It doesn't seem to have an effect. Results are attached for both 6.12
> >>>> (6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
> >>>> 100% WFI and mainline is about 20% WFI on average, the same as before.
> >>>>
> >>>>>
> >>>>> I don't quite follow this.
> >>>>> While I don't really believe that the tick_nohz_get_sleep_length() overhead
> >>>>> plays a role here, how does removing that assignment prove it isn't?
> >>>>>
> >>>>> The below (if that's what you meant) might lead to the overhead being optimized
> >>>>> out? [1]
> >>>>
> >>>> Oh true. I tried the diff below instead (which I think should avoid
> >>>> that?). This also behaves the same as 6.6. Results attached as
> >>>> 6_12_sleep_length2.
> >>>
> >>> Thanks for testing
> >>>
> >>>>
> >>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>> index 173ddcac540a..3c9595bc6c80 100644
> >>>> --- a/drivers/cpuidle/governors/teo.c
> >>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>> @@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
> >>>> struct cpuidle_device *dev,
> >>>>                  * We have to query the sleep length here otherwise we don't
> >>>>                  * know after wakeup if our guess was correct.
> >>>>                  */
> >>>> -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
> >>>> -               cpu_data->sleep_length_ns = duration_ns;
> >>>> +               volatile s64 __maybe_unused duration_volatile_ns =
> >>>> tick_nohz_get_sleep_length(&delta_tick);
> >>>>                 goto out_tick;
> >>>>         }
> >>>>
> >>>>> I'd be curious if [2] behaves like 6.12. So far I haven't been able to
> >>>>> reproduce the issue Reka is seeing.
> >>>>
> >>>> Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.
> >>>>
> >>>
> >>> Hmm interesting.
> >>>
> >>>>> There's one oddity that immediately came to mind: state1 and state2 having
> >>>>> the same residency (slightly different latency though), but when I set these
> >>>>> as such teo works fine. So I don't think it is an issue here.
> >>>>>
> >>>>> If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
> >>>>> length values are here (they must be <1ms, but do in fact never trigger?).
> >>>>
> >>>> In case it's helpful, I've attached a trace (trace_duration.dat) which
> >>>> includes a trace_printk of the duration_ns at this point (on top of
> >>>> unmodified 6.12).
> >>> While I was gonna ask for this anyway, it's not that useful (duration_ns is some
> >>> time in the far future, most wakeups are obviously ticks).
> >>> May I ask you to run the following hopefully one last time, just to check if we're
> >>> not missing something here:
> >>
> >> Trace attached.
> >>
> >
> > Thank you!
> > So the intercept bin counts themselves aren't the issue:
> >           <idle>-0     [007] d..1.  1097.218324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=62615312 last_residency_ns=997307 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
> >           <idle>-0     [007] d..1.  1097.218324: cpu_idle:             state=0 cpu_id=7
> >           <idle>-0     [007] d..1.  1097.219321: cpu_idle:             state=4294967295 cpu_id=7
> >           <idle>-0     [007] d.h1.  1097.219322: irq_handler_entry:    irq=19 name=arch_timer
> >           <idle>-0     [007] d.h1.  1097.219323: irq_handler_exit:     irq=19 ret=handled
> >           <idle>-0     [007] d..1.  1097.219324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=61615389 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
> >           <idle>-0     [007] d..1.  1097.219324: cpu_idle:             state=0 cpu_id=7
> >           <idle>-0     [007] d..1.  1097.220321: cpu_idle:             state=4294967295 cpu_id=7
> >           <idle>-0     [007] d.h1.  1097.220322: irq_handler_entry:    irq=19 name=arch_timer
> >           <idle>-0     [007] d.h1.  1097.220323: irq_handler_exit:     irq=19 ret=handled
> >           <idle>-0     [007] d..1.  1097.220324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=60615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
> >           <idle>-0     [007] d..1.  1097.220324: cpu_idle:             state=0 cpu_id=7
> >           <idle>-0     [007] d..1.  1097.221321: cpu_idle:             state=4294967295 cpu_id=7
> >           <idle>-0     [007] d.h1.  1097.221322: irq_handler_entry:    irq=19 name=arch_timer
> >           <idle>-0     [007] d.h1.  1097.221323: irq_handler_exit:     irq=19 ret=handled
> >           <idle>-0     [007] d..1.  1097.221324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=59615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
> >
> >
> > 386         if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum)
> > will be 2*7 > 8206 - (7 + 8192) => True
> > The intercept state selection will choose a state that covers at least half of the
> > intercepts, but only bin 0 has intercepts at all => state0 selected.
> >
> > I see two issues:
> > 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))

This shouldn't be a problem.

> > 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> > exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> > have been a really good candidate actually).

Well, it would exclude the state if the sum of hits for the states
below it is large enough.  This is questionable (because why would
hits matter here), but I attempted to make the change below and
somebody reported a regression IIRC.

This check is related to the problem at hand though (see below).

> >
> > I lightly tested the below, it seems to be at least comparable to mainline teo.
> > (the documentation/comments would need adapting too, of course)
> >
> > -----8<-----
> >
> > diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > index bfa55c1eab5b..f8f76e3b8364 100644
> > --- a/drivers/cpuidle/governors/teo.c
> > +++ b/drivers/cpuidle/governors/teo.c
> > @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >          * all of the deeper states, a shallower idle state is likely to be a
> >          * better choice.
> >          */
> > -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> > +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >                 int first_suitable_idx = idx;
> >
> >                 /*
> >
> >
>
> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> Maybe something like this, again lightly tested:
>
> -----8<-----
>
> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> index 173ddcac540a..6bfb9cedb75e 100644
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>                  * has been stopped already into account.
>                  */
>                 intercept_sum = 0;
> +               hit_sum = 0;
>
>                 for (i = idx - 1; i >= 0; i--) {
>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>
>                         intercept_sum += bin->intercepts;
> +                       hit_sum += bin->hits;
>
> -                       if (2 * intercept_sum > idx_intercept_sum) {
> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>                                 /*
>                                  * Use the current state unless it is too
>                                  * shallow or disabled, in which case take the

This will only matter after the deepest state has been rejected
already and on the system in question this means selecting state 0 no
matter what.

The pre-6.12 behavior can be explained if tick wakeups are taken into account.

Namely, when state 0 is chosen (because of the check mentioned above),
the tick is not stopped and the sleep length is KTIME_MAX.  If the
subsequent wakeup is a tick one, it will be counted as a hit on the
deepest state (and it will contribute to the total sum in the check
mentioned above).  Then, at one point, cpu_data->total will be large
enough and the deepest state will become the candidate one.  If
tick_nohz_get_sleep_length() returns a large value at that point, the
tick will be stopped and the deepest state will be entered.  Nirvana
ensues.

The change in commit 4b20b07ce72f causes the sleep length to fall
below the deepest idle state target residency at least sometimes in
the scenario above, and if the subsequent wakeup is a tick one, it
doesn't matter how it is counted - it will contribute to selecting
idle state 0.

The mainline is affected to a lesser extent because it sometimes does
what pre-6.12 did.

IMV addressing this would require changing the check you've identified
as the culprit, but I'm not sure how to change it TBH.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-11 11:48                           ` Rafael J. Wysocki
@ 2025-11-11 17:20                             ` Christian Loehle
  2025-11-12  9:51                               ` Christian Loehle
  2025-11-12 13:32                               ` Rafael J. Wysocki
  0 siblings, 2 replies; 48+ messages in thread
From: Christian Loehle @ 2025-11-11 17:20 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Reka Norman, daniel.lezcano, linux-pm

On 11/11/25 11:48, Rafael J. Wysocki wrote:
> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/11/25 10:00, Christian Loehle wrote:
>>> On 11/11/25 04:23, Reka Norman wrote:
>>>> On Mon, Nov 10, 2025 at 11:06 PM Christian Loehle
>>>> <christian.loehle@arm.com> wrote:
>>>>>
>>>>> On 11/10/25 06:10, Reka Norman wrote:
>>>>>> On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>
>>>>>>> On 11/7/25 11:35, Rafael J. Wysocki wrote:
>>>>>>>> On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
>>>>>>>>>
>>>>>>>>> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>>>>>>>>
>>>>>>>>>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
>>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
>>>>>>>>>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
>>>>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 11/4/25 09:03, Christian Loehle wrote:
>>>>>>>>>>>>>> On 11/4/25 03:36, Reka Norman wrote:
>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>>>>>>>>>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
>>>>>>>>>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>>>>>>>>>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Bisecting showed the specific commit which caused the regression is:
>>>>>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>>>>>>>>>>>>>>> of minutes after boot, with the device having been idle since boot.
>>>>>>>>>>>>>>> The cases tested are:
>>>>>>>>>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
>>>>>>>>>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>>>>>>>>>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> |            |   6.6 |  6.12 | mainline |
>>>>>>>>>>>>>>> |------------|------:|------:|---------:|
>>>>>>>>>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
>>>>>>>>>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
>>>>>>>>>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
>>>>>>>>>>>>>>> | s2idle     |     0 |     0 |        0 |
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Any help would be much appreciated. Let me know if there's any other
>>>>>>>>>>>>>>> debugging information I should provide.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> That's not good.
>>>>>>>>>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
>>>>>>>>>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
>>>>>>>>>>>>>> than I would've expected?
>>>>>>>>>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
>>>>>>>>>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm a bit puzzled by your bisect results.
>>>>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
>>>>>>>>>>>>>> seems to count more of them? (resulting in more WFI).
>>>>>>>>>>>>>> I'll think about it some more, for now of course a trace would be very
>>>>>>>>>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
>>>>>>>>>>>>>> Are there ever any latency constraints set?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
>>>>>>>>>>>>>> anyway:
>>>>>>>>>>>>>> Cluster       State           above   below   usage   above%  below%
>>>>>>>>>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
>>>>>>>>>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
>>>>>>>>>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
>>>>>>>>>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
>>>>>>>>>>>>>> BIG   cpuoff-b        0       1       1       —       —
>>>>>>>>>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
>>>>>>>>>>>>>> savings compared to cpuoff should be marginal anyway.)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Do you mind trying:
>>>>>>>>>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
>>>>>>>>>>>>>> on 6.12?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> So just thinking out loud, the only case I can actually thing of to explain your
>>>>>>>>>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>>> is that the workload essentially changed dramatically because of our calls
>>>>>>>>>>>>> to tick_nohz_get_sleep_length() now.
>>>>>>>>>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
>>>>>>>>>>>>> cause. That's why results with
>>>>>>>>>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
>>>>>>>>>>>>> would be interesting.
>>>>>>>>>>>>
>>>>>>>>>>>> My current theory is that this issue is related to the
>>>>>>>>>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
>>>>>>>>>>>> distinguished from "hits" in teo.
>>>>>>>>>>>>
>>>>>>>>>>>> Namely, teo assumes that its own overhead is negligible and so it
>>>>>>>>>>>> counts a given event as an "intercept" if the measured time spent in
>>>>>>>>>>>> the idle state (with the exit latency roughly taken into account)
>>>>>>>>>>>> falls into a different "state bin" than the sleep length (the expected
>>>>>>>>>>>> time till the next timer).  However, the sleep length is computed as a
>>>>>>>>>>>> difference between the upcoming timer wakeup event time and
>>>>>>>>>>>> ts->idle_entrytime, so it actually includes the time taken by
>>>>>>>>>>>> tick_nohz_next_event().  If the latter is significant, it may
>>>>>>>>>>>> contribute to the difference seen by teo_update() and cause extra
>>>>>>>>>>>> "intercepts" to appear.
>>>>>>>>>>>
>>>>>>>>>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
>>>>>>>>>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
>>>>>>>>>>> for three reasons:
>>>>>>>>>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
>>>>>>>>>>> even though for most cases we don't incur the entry latency)
>>>>>>>>>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
>>>>>>>>>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
>>>>>>>>>>> possibly have been entered as not the entire cluster is idle.
>>>>>>>>>>>
>>>>>>>>>>> Nonetheless these are all just a "intercept counting is significantly more likely"
>>>>>>>>>>> while the results show not a single state >0 entered => the intercept logic
>>>>>>>>>>> probably triggers every cpuidle entry.
>>>>>>>>>>
>>>>>>>>>> It has to for this to happen, if timers are not frequent enough.
>>>>>>>>>>
>>>>>>>>>>> Feels like there should be an issue in the feedback loop.
>>>>>>>>>>
>>>>>>>>>> I'm wondering what the issue could be though.  The change in commit
>>>>>>>>>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
>>>>>>>>>> selected and it only really changes the sleep length value from
>>>>>>>>>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
>>>>>>>>>>
>>>>>>>>>> It may turn an "intercept" into a "hit", but only if the CPU is not
>>>>>>>>>> woken up by the tick because those cases had been already counted as
>>>>>>>>>> "hits" before commit 4b20b07ce72f.
>>>>>>>>>>
>>>>>>>>>> Now, if the majority of wakeups in the workload are tick wakeups, the
>>>>>>>>>> only real difference appears to be the presence of
>>>>>>>>>> tick_nohz_get_sleep_length() in that code path.
>>>>>>>>>>
>>>>>>>>>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
>>>>>>>>>> right before the "goto out_tick" statement (in 6.12 that should be
>>>>>>>>>> line 426) and see what happens.
>>>>>>>>>
>>>>>>>>> Just tried this quickly. Results attached. It goes back to behaving
>>>>>>>>> the same as 6.6 - about 2% WFI.
>>>>>>>>
>>>>>>>> Thanks for checking this!  It means that the
>>>>>>>> tick_nohz_get_sleep_length() overhead doesn't matter here that much.
>>>>>>>>
>>>>>>>> Instead of making the change above, can you please try the 6.12
>>>>>>>> equivalent of the attached patch?
>>>>>>>>
>>>>>>>> Or alternatively, apply this one to the mainline and see if it changes
>>>>>>>> the idle states selection proportions?
>>>>>>
>>>>>> It doesn't seem to have an effect. Results are attached for both 6.12
>>>>>> (6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
>>>>>> 100% WFI and mainline is about 20% WFI on average, the same as before.
>>>>>>
>>>>>>>
>>>>>>> I don't quite follow this.
>>>>>>> While I don't really believe that the tick_nohz_get_sleep_length() overhead
>>>>>>> plays a role here, how does removing that assignment prove it isn't?
>>>>>>>
>>>>>>> The below (if that's what you meant) might lead to the overhead being optimized
>>>>>>> out? [1]
>>>>>>
>>>>>> Oh true. I tried the diff below instead (which I think should avoid
>>>>>> that?). This also behaves the same as 6.6. Results attached as
>>>>>> 6_12_sleep_length2.
>>>>>
>>>>> Thanks for testing
>>>>>
>>>>>>
>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>> index 173ddcac540a..3c9595bc6c80 100644
>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>> @@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
>>>>>> struct cpuidle_device *dev,
>>>>>>                  * We have to query the sleep length here otherwise we don't
>>>>>>                  * know after wakeup if our guess was correct.
>>>>>>                  */
>>>>>> -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
>>>>>> -               cpu_data->sleep_length_ns = duration_ns;
>>>>>> +               volatile s64 __maybe_unused duration_volatile_ns =
>>>>>> tick_nohz_get_sleep_length(&delta_tick);
>>>>>>                 goto out_tick;
>>>>>>         }
>>>>>>
>>>>>>> I'd be curious if [2] behaves like 6.12. So far I haven't been able to
>>>>>>> reproduce the issue Reka is seeing.
>>>>>>
>>>>>> Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.
>>>>>>
>>>>>
>>>>> Hmm interesting.
>>>>>
>>>>>>> There's one oddity that immediately came to mind: state1 and state2 having
>>>>>>> the same residency (slightly different latency though), but when I set these
>>>>>>> as such teo works fine. So I don't think it is an issue here.
>>>>>>>
>>>>>>> If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
>>>>>>> length values are here (they must be <1ms, but do in fact never trigger?).
>>>>>>
>>>>>> In case it's helpful, I've attached a trace (trace_duration.dat) which
>>>>>> includes a trace_printk of the duration_ns at this point (on top of
>>>>>> unmodified 6.12).
>>>>> While I was gonna ask for this anyway, it's not that useful (duration_ns is some
>>>>> time in the far future, most wakeups are obviously ticks).
>>>>> May I ask you to run the following hopefully one last time, just to check if we're
>>>>> not missing something here:
>>>>
>>>> Trace attached.
>>>>
>>>
>>> Thank you!
>>> So the intercept bin counts themselves aren't the issue:
>>>           <idle>-0     [007] d..1.  1097.218324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=62615312 last_residency_ns=997307 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>>>           <idle>-0     [007] d..1.  1097.218324: cpu_idle:             state=0 cpu_id=7
>>>           <idle>-0     [007] d..1.  1097.219321: cpu_idle:             state=4294967295 cpu_id=7
>>>           <idle>-0     [007] d.h1.  1097.219322: irq_handler_entry:    irq=19 name=arch_timer
>>>           <idle>-0     [007] d.h1.  1097.219323: irq_handler_exit:     irq=19 ret=handled
>>>           <idle>-0     [007] d..1.  1097.219324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=61615389 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>>>           <idle>-0     [007] d..1.  1097.219324: cpu_idle:             state=0 cpu_id=7
>>>           <idle>-0     [007] d..1.  1097.220321: cpu_idle:             state=4294967295 cpu_id=7
>>>           <idle>-0     [007] d.h1.  1097.220322: irq_handler_entry:    irq=19 name=arch_timer
>>>           <idle>-0     [007] d.h1.  1097.220323: irq_handler_exit:     irq=19 ret=handled
>>>           <idle>-0     [007] d..1.  1097.220324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=60615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>>>           <idle>-0     [007] d..1.  1097.220324: cpu_idle:             state=0 cpu_id=7
>>>           <idle>-0     [007] d..1.  1097.221321: cpu_idle:             state=4294967295 cpu_id=7
>>>           <idle>-0     [007] d.h1.  1097.221322: irq_handler_entry:    irq=19 name=arch_timer
>>>           <idle>-0     [007] d.h1.  1097.221323: irq_handler_exit:     irq=19 ret=handled
>>>           <idle>-0     [007] d..1.  1097.221324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=59615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>>>
>>>
>>> 386         if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum)
>>> will be 2*7 > 8206 - (7 + 8192) => True
>>> The intercept state selection will choose a state that covers at least half of the
>>> intercepts, but only bin 0 has intercepts at all => state0 selected.
>>>
>>> I see two issues:
>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> 
> This shouldn't be a problem.

Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
never been an issue. 

> 
>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>> have been a really good candidate actually).
> 
> Well, it would exclude the state if the sum of hits for the states
> below it is large enough.  This is questionable (because why would
> hits matter here), but I attempted to make the change below and
> somebody reported a regression IIRC.
> 
> This check is related to the problem at hand though (see below).
> 
>>>
>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>> (the documentation/comments would need adapting too, of course)
>>>
>>> -----8<-----
>>>
>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>> --- a/drivers/cpuidle/governors/teo.c
>>> +++ b/drivers/cpuidle/governors/teo.c
>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>          * better choice.
>>>          */
>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>                 int first_suitable_idx = idx;
>>>
>>>                 /*
>>>
>>>
>>
>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>> Maybe something like this, again lightly tested:
>>
>> -----8<-----
>>
>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>> index 173ddcac540a..6bfb9cedb75e 100644
>> --- a/drivers/cpuidle/governors/teo.c
>> +++ b/drivers/cpuidle/governors/teo.c
>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>                  * has been stopped already into account.
>>                  */
>>                 intercept_sum = 0;
>> +               hit_sum = 0;
>>
>>                 for (i = idx - 1; i >= 0; i--) {
>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>
>>                         intercept_sum += bin->intercepts;
>> +                       hit_sum += bin->hits;
>>
>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>                                 /*
>>                                  * Use the current state unless it is too
>>                                  * shallow or disabled, in which case take the
> 
> This will only matter after the deepest state has been rejected
> already and on the system in question this means selecting state 0 no
> matter what.
>

Ah, right!

 
> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> 
> Namely, when state 0 is chosen (because of the check mentioned above),
> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> subsequent wakeup is a tick one, it will be counted as a hit on the
> deepest state (and it will contribute to the total sum in the check
> mentioned above).  Then, at one point, cpu_data->total will be large
> enough and the deepest state will become the candidate one.  If
> tick_nohz_get_sleep_length() returns a large value at that point, the
> tick will be stopped and the deepest state will be entered.  Nirvana
> ensues.

So fundamentally we will have to count tick-wakeups as a) nothing, which
doesn't allow us to ever break out of the intercept logic that caused us
to leave the tick on b) intercepts, which is bonkers and doesn't allow us
to ever break out and c) hits == sleep_length would've been accurate.
Of course counting a tick wakeup as a hit for sleep_length negates the
intercept logic.

> 
> The change in commit 4b20b07ce72f causes the sleep length to fall
> below the deepest idle state target residency at least sometimes in
> the scenario above, and if the subsequent wakeup is a tick one, it
> doesn't matter how it is counted - it will contribute to selecting
> idle state 0.
> 
> The mainline is affected to a lesser extent because it sometimes does
> what pre-6.12 did.
> 
> IMV addressing this would require changing the check you've identified
> as the culprit, but I'm not sure how to change it TBH.

I guess we don't really have a choice but to have every 10th or so idle
during intercept try the sleep_length state with tick off (i.e. disregard
intercept) and see if that's still the case? If the sleep length is now
accurate and we haven't been woken up then keep disregarding until it does
again?
It's the smartest thing I can come up with for now, but I'll give it some
more thought!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-11 17:20                             ` Christian Loehle
@ 2025-11-12  9:51                               ` Christian Loehle
  2025-11-12 13:40                                 ` Rafael J. Wysocki
  2025-11-12 13:32                               ` Rafael J. Wysocki
  1 sibling, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-12  9:51 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Reka Norman, daniel.lezcano, linux-pm

On 11/11/25 17:20, Christian Loehle wrote:
> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>> <christian.loehle@arm.com> wrote:
>>>
>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>> On 11/11/25 04:23, Reka Norman wrote:
>>>>> On Mon, Nov 10, 2025 at 11:06 PM Christian Loehle
>>>>> <christian.loehle@arm.com> wrote:
>>>>>>
>>>>>> On 11/10/25 06:10, Reka Norman wrote:
>>>>>>> On Mon, Nov 10, 2025 at 7:35 AM Christian Loehle
>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>
>>>>>>>> On 11/7/25 11:35, Rafael J. Wysocki wrote:
>>>>>>>>> On Fri, Nov 7, 2025 at 4:28 AM Reka Norman <rekanorman@chromium.org> wrote:
>>>>>>>>>>
>>>>>>>>>> On Fri, Nov 7, 2025 at 7:33 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Nov 6, 2025 at 12:13 PM Christian Loehle
>>>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> On 11/5/25 20:48, Rafael J. Wysocki wrote:
>>>>>>>>>>>>> On Wed, Nov 5, 2025 at 12:24 AM Christian Loehle
>>>>>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 11/4/25 09:03, Christian Loehle wrote:
>>>>>>>>>>>>>>> On 11/4/25 03:36, Reka Norman wrote:
>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I’m seeing a regression in the TEO governor between 6.6 and 6.12. At
>>>>>>>>>>>>>>>> 6.12, when the system is idle it’s spending almost 100% of time in
>>>>>>>>>>>>>>>> WFI, compared to about 6% at 6.6. At mainline it has improved compared
>>>>>>>>>>>>>>>> to 6.12 but is still a lot worse than 6.6, spending about 50% in WFI.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> The system is a ChromeOS device with Mediatek MT8196.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Bisecting showed the specific commit which caused the regression is:
>>>>>>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I’ve attached sysfs dumps showing the issue. All were taken a couple
>>>>>>>>>>>>>>>> of minutes after boot, with the device having been idle since boot.
>>>>>>>>>>>>>>>> The cases tested are:
>>>>>>>>>>>>>>>> cpuidle_6_6.txt      = 6.6 kernel
>>>>>>>>>>>>>>>> cpuidle_6_12.txt     = 6.6 kernel with teo commits up to 6.12
>>>>>>>>>>>>>>>> cpuidle_mainline.txt = 6.6 kernel with teo commits up to mainline
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Summary of the percentage time spent in each state (averaged across CPUs):
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> |            |   6.6 |  6.12 | mainline |
>>>>>>>>>>>>>>>> |------------|------:|------:|---------:|
>>>>>>>>>>>>>>>> | WFI        |  6.02 | 99.94 |    56.84 |
>>>>>>>>>>>>>>>> | cpuoff     | 11.02 |     0 |     0.65 |
>>>>>>>>>>>>>>>> | clusteroff | 82.96 |  0.05 |    42.51 |
>>>>>>>>>>>>>>>> | s2idle     |     0 |     0 |        0 |
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Any help would be much appreciated. Let me know if there's any other
>>>>>>>>>>>>>>>> debugging information I should provide.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> That's not good.
>>>>>>>>>>>>>>> If the system is mostly idle (only boot activity but dumps are taken after
>>>>>>>>>>>>>>> ~3mins?), what is causing the wakeups? Even in 6.6 There are definitely more
>>>>>>>>>>>>>>> than I would've expected?
>>>>>>>>>>>>>>> I noticed that clusteroff and cpuoff have equal residency, which is
>>>>>>>>>>>>>>> obviously a bit awkward for cpuidle, but shouldn't be relevant to your issue.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm a bit puzzled by your bisect results.
>>>>>>>>>>>>>>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>>>>> made the intercept logic *less* prone to count (false) intercepts, yet it
>>>>>>>>>>>>>>> seems to count more of them? (resulting in more WFI).
>>>>>>>>>>>>>>> I'll think about it some more, for now of course a trace would be very
>>>>>>>>>>>>>>> helpful. (cpuidle events, ipi_raise, irqs?)
>>>>>>>>>>>>>>> Are there ever any latency constraints set?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> FWIW the mainline results look the most reasonable, from a 30000 feet view
>>>>>>>>>>>>>>> anyway:
>>>>>>>>>>>>>>> Cluster       State           above   below   usage   above%  below%
>>>>>>>>>>>>>>> LITTLE        cpuoff-l        ~75     ~65     ~140    23%     20%
>>>>>>>>>>>>>>> LITTLE        clusteroff-l    ~800    0       ~100    89%     0%
>>>>>>>>>>>>>>> MID   cpuoff-m        ~3–4    ~15     ~20     15%     55%
>>>>>>>>>>>>>>> MID   clusteroff-m    ~1300   0       ~4000   24%     0%
>>>>>>>>>>>>>>> BIG   cpuoff-b        0       1       1       —       —
>>>>>>>>>>>>>>> BIG   clusteroff-b    ~800    0       ~1900   30%     0%
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> (WFI seems mostly the correct choice for little CPUs, that's fine, the energy
>>>>>>>>>>>>>>> savings compared to cpuoff should be marginal anyway.)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Do you mind trying:
>>>>>>>>>>>>>>> 13ed5c4a6d9c cpuidle: teo: Skip getting the sleep length if wakeups are very frequent
>>>>>>>>>>>>>>> on 6.12?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> So just thinking out loud, the only case I can actually thing of to explain your
>>>>>>>>>>>>>> bisect to 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
>>>>>>>>>>>>>> is that the workload essentially changed dramatically because of our calls
>>>>>>>>>>>>>> to tick_nohz_get_sleep_length() now.
>>>>>>>>>>>>>> I'm not sure how likely I think that is, but I'm lacking imagination for another
>>>>>>>>>>>>>> cause. That's why results with
>>>>>>>>>>>>>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent")
>>>>>>>>>>>>>> would be interesting.
>>>>>>>>>>>>>
>>>>>>>>>>>>> My current theory is that this issue is related to the
>>>>>>>>>>>>> tick_nohz_get_sleep_length() overhead and the way "intercepts" are
>>>>>>>>>>>>> distinguished from "hits" in teo.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Namely, teo assumes that its own overhead is negligible and so it
>>>>>>>>>>>>> counts a given event as an "intercept" if the measured time spent in
>>>>>>>>>>>>> the idle state (with the exit latency roughly taken into account)
>>>>>>>>>>>>> falls into a different "state bin" than the sleep length (the expected
>>>>>>>>>>>>> time till the next timer).  However, the sleep length is computed as a
>>>>>>>>>>>>> difference between the upcoming timer wakeup event time and
>>>>>>>>>>>>> ts->idle_entrytime, so it actually includes the time taken by
>>>>>>>>>>>>> tick_nohz_next_event().  If the latter is significant, it may
>>>>>>>>>>>>> contribute to the difference seen by teo_update() and cause extra
>>>>>>>>>>>>> "intercepts" to appear.
>>>>>>>>>>>>
>>>>>>>>>>>> Right, additionally with psci pc-mode and the exposed clusteroff states we end
>>>>>>>>>>>> up vastly exaggerating the wakeup latency (i.e. underestimating the actual idle time)
>>>>>>>>>>>> for three reasons:
>>>>>>>>>>>> - wakeup latency = entry+exit latency (worst case: pay full latencies on both
>>>>>>>>>>>> even though for most cases we don't incur the entry latency)
>>>>>>>>>>>> - Wakeup latency is a worst-case and often is more like 2x-3x of the average.
>>>>>>>>>>>> - We use the (higher) clusteroff values even though the clusteroff state couldn't
>>>>>>>>>>>> possibly have been entered as not the entire cluster is idle.
>>>>>>>>>>>>
>>>>>>>>>>>> Nonetheless these are all just a "intercept counting is significantly more likely"
>>>>>>>>>>>> while the results show not a single state >0 entered => the intercept logic
>>>>>>>>>>>> probably triggers every cpuidle entry.
>>>>>>>>>>>
>>>>>>>>>>> It has to for this to happen, if timers are not frequent enough.
>>>>>>>>>>>
>>>>>>>>>>>> Feels like there should be an issue in the feedback loop.
>>>>>>>>>>>
>>>>>>>>>>> I'm wondering what the issue could be though.  The change in commit
>>>>>>>>>>> 4b20b07ce72f only affects the cases when idle state 0 is about to be
>>>>>>>>>>> selected and it only really changes the sleep length value from
>>>>>>>>>>> KTIME_MAX to something more realistic (but it still may be KTIME_MAX).
>>>>>>>>>>>
>>>>>>>>>>> It may turn an "intercept" into a "hit", but only if the CPU is not
>>>>>>>>>>> woken up by the tick because those cases had been already counted as
>>>>>>>>>>> "hits" before commit 4b20b07ce72f.
>>>>>>>>>>>
>>>>>>>>>>> Now, if the majority of wakeups in the workload are tick wakeups, the
>>>>>>>>>>> only real difference appears to be the presence of
>>>>>>>>>>> tick_nohz_get_sleep_length() in that code path.
>>>>>>>>>>>
>>>>>>>>>>> Frankly, I would try to remove the update of cpu_data->sleep_length_ns
>>>>>>>>>>> right before the "goto out_tick" statement (in 6.12 that should be
>>>>>>>>>>> line 426) and see what happens.
>>>>>>>>>>
>>>>>>>>>> Just tried this quickly. Results attached. It goes back to behaving
>>>>>>>>>> the same as 6.6 - about 2% WFI.
>>>>>>>>>
>>>>>>>>> Thanks for checking this!  It means that the
>>>>>>>>> tick_nohz_get_sleep_length() overhead doesn't matter here that much.
>>>>>>>>>
>>>>>>>>> Instead of making the change above, can you please try the 6.12
>>>>>>>>> equivalent of the attached patch?
>>>>>>>>>
>>>>>>>>> Or alternatively, apply this one to the mainline and see if it changes
>>>>>>>>> the idle states selection proportions?
>>>>>>>
>>>>>>> It doesn't seem to have an effect. Results are attached for both 6.12
>>>>>>> (6_12_teo_reflect) and mainline (mainline_teo_reflect). 6.12 is still
>>>>>>> 100% WFI and mainline is about 20% WFI on average, the same as before.
>>>>>>>
>>>>>>>>
>>>>>>>> I don't quite follow this.
>>>>>>>> While I don't really believe that the tick_nohz_get_sleep_length() overhead
>>>>>>>> plays a role here, how does removing that assignment prove it isn't?
>>>>>>>>
>>>>>>>> The below (if that's what you meant) might lead to the overhead being optimized
>>>>>>>> out? [1]
>>>>>>>
>>>>>>> Oh true. I tried the diff below instead (which I think should avoid
>>>>>>> that?). This also behaves the same as 6.6. Results attached as
>>>>>>> 6_12_sleep_length2.
>>>>>>
>>>>>> Thanks for testing
>>>>>>
>>>>>>>
>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>> index 173ddcac540a..3c9595bc6c80 100644
>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>> @@ -427,8 +427,7 @@ static int teo_select(struct cpuidle_driver *drv,
>>>>>>> struct cpuidle_device *dev,
>>>>>>>                  * We have to query the sleep length here otherwise we don't
>>>>>>>                  * know after wakeup if our guess was correct.
>>>>>>>                  */
>>>>>>> -               duration_ns = tick_nohz_get_sleep_length(&delta_tick);
>>>>>>> -               cpu_data->sleep_length_ns = duration_ns;
>>>>>>> +               volatile s64 __maybe_unused duration_volatile_ns =
>>>>>>> tick_nohz_get_sleep_length(&delta_tick);
>>>>>>>                 goto out_tick;
>>>>>>>         }
>>>>>>>
>>>>>>>> I'd be curious if [2] behaves like 6.12. So far I haven't been able to
>>>>>>>> reproduce the issue Reka is seeing.
>>>>>>>
>>>>>>> Results with [2] attached as 6_12_sleep_length3. Yes, it behaves like 6.12.
>>>>>>>
>>>>>>
>>>>>> Hmm interesting.
>>>>>>
>>>>>>>> There's one oddity that immediately came to mind: state1 and state2 having
>>>>>>>> the same residency (slightly different latency though), but when I set these
>>>>>>>> as such teo works fine. So I don't think it is an issue here.
>>>>>>>>
>>>>>>>> If Rafael's patch fixes the issue I'd still be curious what the predicted sleep
>>>>>>>> length values are here (they must be <1ms, but do in fact never trigger?).
>>>>>>>
>>>>>>> In case it's helpful, I've attached a trace (trace_duration.dat) which
>>>>>>> includes a trace_printk of the duration_ns at this point (on top of
>>>>>>> unmodified 6.12).
>>>>>> While I was gonna ask for this anyway, it's not that useful (duration_ns is some
>>>>>> time in the far future, most wakeups are obviously ticks).
>>>>>> May I ask you to run the following hopefully one last time, just to check if we're
>>>>>> not missing something here:
>>>>>
>>>>> Trace attached.
>>>>>
>>>>
>>>> Thank you!
>>>> So the intercept bin counts themselves aren't the issue:
>>>>           <idle>-0     [007] d..1.  1097.218324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=62615312 last_residency_ns=997307 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>>>>           <idle>-0     [007] d..1.  1097.218324: cpu_idle:             state=0 cpu_id=7
>>>>           <idle>-0     [007] d..1.  1097.219321: cpu_idle:             state=4294967295 cpu_id=7
>>>>           <idle>-0     [007] d.h1.  1097.219322: irq_handler_entry:    irq=19 name=arch_timer
>>>>           <idle>-0     [007] d.h1.  1097.219323: irq_handler_exit:     irq=19 ret=handled
>>>>           <idle>-0     [007] d..1.  1097.219324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=61615389 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>>>>           <idle>-0     [007] d..1.  1097.219324: cpu_idle:             state=0 cpu_id=7
>>>>           <idle>-0     [007] d..1.  1097.220321: cpu_idle:             state=4294967295 cpu_id=7
>>>>           <idle>-0     [007] d.h1.  1097.220322: irq_handler_entry:    irq=19 name=arch_timer
>>>>           <idle>-0     [007] d.h1.  1097.220323: irq_handler_exit:     irq=19 ret=handled
>>>>           <idle>-0     [007] d..1.  1097.220324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=60615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>>>>           <idle>-0     [007] d..1.  1097.220324: cpu_idle:             state=0 cpu_id=7
>>>>           <idle>-0     [007] d..1.  1097.221321: cpu_idle:             state=4294967295 cpu_id=7
>>>>           <idle>-0     [007] d.h1.  1097.221322: irq_handler_entry:    irq=19 name=arch_timer
>>>>           <idle>-0     [007] d.h1.  1097.221323: irq_handler_exit:     irq=19 ret=handled
>>>>           <idle>-0     [007] d..1.  1097.221324: bprint:               teo_update: teo_update cpu=7 last_state_idx=0 state_count=4 total=7182 sleep_len_ns=59615312 last_residency_ns=997538 measured_ns=18446744073709551615 lat_ns=1000 idx_timer=2 idx_duration=2 tick_hits=0 | bins: [0]h=7,i=7,tr=1000 [1]h=0,i=0,tr=2580000 [2]h=8192,i=0,tr=2580000 [3]h=0,i=0,tr=4294967295000
>>>>
>>>>
>>>> 386         if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum)
>>>> will be 2*7 > 8206 - (7 + 8192) => True
>>>> The intercept state selection will choose a state that covers at least half of the
>>>> intercepts, but only bin 0 has intercepts at all => state0 selected.
>>>>
>>>> I see two issues:
>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>
>> This shouldn't be a problem.
> 
> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> never been an issue. 
> 
>>
>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>> have been a really good candidate actually).
>>
>> Well, it would exclude the state if the sum of hits for the states
>> below it is large enough.  This is questionable (because why would
>> hits matter here), but I attempted to make the change below and
>> somebody reported a regression IIRC.
>>
>> This check is related to the problem at hand though (see below).
>>
>>>>
>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>> (the documentation/comments would need adapting too, of course)
>>>>
>>>> -----8<-----
>>>>
>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>> --- a/drivers/cpuidle/governors/teo.c
>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>          * better choice.
>>>>          */
>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>                 int first_suitable_idx = idx;
>>>>
>>>>                 /*
>>>>
>>>>
>>>
>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>> Maybe something like this, again lightly tested:
>>>
>>> -----8<-----
>>>
>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>> index 173ddcac540a..6bfb9cedb75e 100644
>>> --- a/drivers/cpuidle/governors/teo.c
>>> +++ b/drivers/cpuidle/governors/teo.c
>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>                  * has been stopped already into account.
>>>                  */
>>>                 intercept_sum = 0;
>>> +               hit_sum = 0;
>>>
>>>                 for (i = idx - 1; i >= 0; i--) {
>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>
>>>                         intercept_sum += bin->intercepts;
>>> +                       hit_sum += bin->hits;
>>>
>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>                                 /*
>>>                                  * Use the current state unless it is too
>>>                                  * shallow or disabled, in which case take the
>>
>> This will only matter after the deepest state has been rejected
>> already and on the system in question this means selecting state 0 no
>> matter what.
>>
> 
> Ah, right!
> 
>  
>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>
>> Namely, when state 0 is chosen (because of the check mentioned above),
>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>> subsequent wakeup is a tick one, it will be counted as a hit on the
>> deepest state (and it will contribute to the total sum in the check
>> mentioned above).  Then, at one point, cpu_data->total will be large
>> enough and the deepest state will become the candidate one.  If
>> tick_nohz_get_sleep_length() returns a large value at that point, the
>> tick will be stopped and the deepest state will be entered.  Nirvana
>> ensues.
> 
> So fundamentally we will have to count tick-wakeups as a) nothing, which
> doesn't allow us to ever break out of the intercept logic that caused us
> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> to ever break out and c) hits == sleep_length would've been accurate.
> Of course counting a tick wakeup as a hit for sleep_length negates the
> intercept logic.
> 
>>
>> The change in commit 4b20b07ce72f causes the sleep length to fall
>> below the deepest idle state target residency at least sometimes in
>> the scenario above, and if the subsequent wakeup is a tick one, it
>> doesn't matter how it is counted - it will contribute to selecting
>> idle state 0.
>>
>> The mainline is affected to a lesser extent because it sometimes does
>> what pre-6.12 did.
>>
>> IMV addressing this would require changing the check you've identified
>> as the culprit, but I'm not sure how to change it TBH.
> 
> I guess we don't really have a choice but to have every 10th or so idle
> during intercept try the sleep_length state with tick off (i.e. disregard
> intercept) and see if that's still the case? If the sleep length is now
> accurate and we haven't been woken up then keep disregarding until it does
> again?
> It's the smartest thing I can come up with for now, but I'll give it some
> more thought!

Alternatively we could have the above but have it depend on getting measured_ns
significantly below delta_tick, but that might be a bit risky, I'll send
patches for both later with some preliminary results unless someone objects.

For 6.12 specifically we also get away with for now with just backporting (up to)
13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent").
Obviously this doesn't fix the underlying problem, which menu can also suffer
from AFAICT.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-11 17:20                             ` Christian Loehle
  2025-11-12  9:51                               ` Christian Loehle
@ 2025-11-12 13:32                               ` Rafael J. Wysocki
  2025-11-12 14:03                                 ` Christian Loehle
  2025-11-13  5:13                                 ` Reka Norman
  1 sibling, 2 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-12 13:32 UTC (permalink / raw)
  To: Christian Loehle, Reka Norman; +Cc: daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 6585 bytes --]

On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> > On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/11/25 10:00, Christian Loehle wrote:

[...]

> >>> I see two issues:
> >>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >
> > This shouldn't be a problem.
>
> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> never been an issue.

Well, I think that the leftovers can be cleared when they become less than 8.

> >
> >>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>> have been a really good candidate actually).
> >
> > Well, it would exclude the state if the sum of hits for the states
> > below it is large enough.  This is questionable (because why would
> > hits matter here), but I attempted to make the change below and
> > somebody reported a regression IIRC.
> >
> > This check is related to the problem at hand though (see below).
> >
> >>>
> >>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>> (the documentation/comments would need adapting too, of course)
> >>>
> >>> -----8<-----
> >>>
> >>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>> --- a/drivers/cpuidle/governors/teo.c
> >>> +++ b/drivers/cpuidle/governors/teo.c
> >>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>          * better choice.
> >>>          */
> >>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>                 int first_suitable_idx = idx;
> >>>
> >>>                 /*
> >>>
> >>>
> >>
> >> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >> Maybe something like this, again lightly tested:
> >>
> >> -----8<-----
> >>
> >> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >> index 173ddcac540a..6bfb9cedb75e 100644
> >> --- a/drivers/cpuidle/governors/teo.c
> >> +++ b/drivers/cpuidle/governors/teo.c
> >> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>                  * has been stopped already into account.
> >>                  */
> >>                 intercept_sum = 0;
> >> +               hit_sum = 0;
> >>
> >>                 for (i = idx - 1; i >= 0; i--) {
> >>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>
> >>                         intercept_sum += bin->intercepts;
> >> +                       hit_sum += bin->hits;
> >>
> >> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>                                 /*
> >>                                  * Use the current state unless it is too
> >>                                  * shallow or disabled, in which case take the
> >
> > This will only matter after the deepest state has been rejected
> > already and on the system in question this means selecting state 0 no
> > matter what.
> >
>
> Ah, right!
>
>
> > The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >
> > Namely, when state 0 is chosen (because of the check mentioned above),
> > the tick is not stopped and the sleep length is KTIME_MAX.  If the
> > subsequent wakeup is a tick one, it will be counted as a hit on the
> > deepest state (and it will contribute to the total sum in the check
> > mentioned above).  Then, at one point, cpu_data->total will be large
> > enough and the deepest state will become the candidate one.  If
> > tick_nohz_get_sleep_length() returns a large value at that point, the
> > tick will be stopped and the deepest state will be entered.  Nirvana
> > ensues.
>
> So fundamentally we will have to count tick-wakeups as a) nothing, which
> doesn't allow us to ever break out of the intercept logic that caused us
> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> to ever break out and c) hits == sleep_length would've been accurate.
> Of course counting a tick wakeup as a hit for sleep_length negates the
> intercept logic.

Not quite.  The intercept logic is there for wakeups other than tick
wakeups and timer wakeups.

I actually think that tick wakeups can be counted as hits on the
deepest available state - maybe only when tick wakeups dominate the
wakeup pattern - but generally this is not unreasonable: When the
wakeup pattern is dominated by tick wakeups, this by itself is a good
enough reason to stop the tick.

The attached patch tests the theory above, let's see how far it gets
us.  Reka, can you please test this one on top of the mainline and see
if it gets you more deep idle state residency?

The difference between it and the previous one is that the sleep
length is set to KTIME_MAX on every tick wakeup.

> >
> > The change in commit 4b20b07ce72f causes the sleep length to fall
> > below the deepest idle state target residency at least sometimes in
> > the scenario above, and if the subsequent wakeup is a tick one, it
> > doesn't matter how it is counted - it will contribute to selecting
> > idle state 0.
> >
> > The mainline is affected to a lesser extent because it sometimes does
> > what pre-6.12 did.
> >
> > IMV addressing this would require changing the check you've identified
> > as the culprit, but I'm not sure how to change it TBH.
>
> I guess we don't really have a choice but to have every 10th or so idle
> during intercept try the sleep_length state with tick off (i.e. disregard
> intercept) and see if that's still the case? If the sleep length is now
> accurate and we haven't been woken up then keep disregarding until it does
> again?

Fortunately, we know when the CPU is woken up by the tick, so we can
use that information.

> It's the smartest thing I can come up with for now, but I'll give it some
> more thought!

Thanks!

[-- Attachment #2: cpuidle-teo-tick-wakeups.patch --]
[-- Type: text/x-patch, Size: 935 bytes --]

---
 drivers/cpuidle/governors/teo.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -507,13 +507,15 @@ static void teo_reflect(struct cpuidle_d
 	struct teo_cpu *cpu_data = per_cpu_ptr(&teo_cpus, dev->cpu);
 
 	dev->last_state_idx = state;
-	if (dev->poll_time_limit ||
-	    (tick_nohz_idle_got_tick() && cpu_data->sleep_length_ns > TICK_NSEC)) {
+	if (dev->poll_time_limit) {
+		dev->poll_time_limit = false;
+		cpu_data->artificial_wakeup = true;
+	} else if (tick_nohz_idle_got_tick()) {
 		/*
-		 * The wakeup was not "genuine", but triggered by one of the
-		 * safety nets.
+		 * Count all tick wakeups as hits on the deepest available idle
+		 * state.
 		 */
-		dev->poll_time_limit = false;
+		cpu_data->sleep_length_ns = KTIME_MAX;
 		cpu_data->artificial_wakeup = true;
 	} else {
 		cpu_data->artificial_wakeup = false;

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-12  9:51                               ` Christian Loehle
@ 2025-11-12 13:40                                 ` Rafael J. Wysocki
  2025-11-12 14:14                                   ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-12 13:40 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, Reka Norman, daniel.lezcano, linux-pm

On Wed, Nov 12, 2025 at 10:51 AM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/11/25 17:20, Christian Loehle wrote:
> > On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >> <christian.loehle@arm.com> wrote:

[...]

> >>>> I see two issues:
> >>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>
> >> This shouldn't be a problem.
> >
> > Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> > never been an issue.
> >
> >>
> >>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>> have been a really good candidate actually).
> >>
> >> Well, it would exclude the state if the sum of hits for the states
> >> below it is large enough.  This is questionable (because why would
> >> hits matter here), but I attempted to make the change below and
> >> somebody reported a regression IIRC.
> >>
> >> This check is related to the problem at hand though (see below).
> >>
> >>>>
> >>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>> (the documentation/comments would need adapting too, of course)
> >>>>
> >>>> -----8<-----
> >>>>
> >>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>> --- a/drivers/cpuidle/governors/teo.c
> >>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>          * better choice.
> >>>>          */
> >>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>                 int first_suitable_idx = idx;
> >>>>
> >>>>                 /*
> >>>>
> >>>>
> >>>
> >>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>> Maybe something like this, again lightly tested:
> >>>
> >>> -----8<-----
> >>>
> >>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>> index 173ddcac540a..6bfb9cedb75e 100644
> >>> --- a/drivers/cpuidle/governors/teo.c
> >>> +++ b/drivers/cpuidle/governors/teo.c
> >>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>                  * has been stopped already into account.
> >>>                  */
> >>>                 intercept_sum = 0;
> >>> +               hit_sum = 0;
> >>>
> >>>                 for (i = idx - 1; i >= 0; i--) {
> >>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>
> >>>                         intercept_sum += bin->intercepts;
> >>> +                       hit_sum += bin->hits;
> >>>
> >>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>                                 /*
> >>>                                  * Use the current state unless it is too
> >>>                                  * shallow or disabled, in which case take the
> >>
> >> This will only matter after the deepest state has been rejected
> >> already and on the system in question this means selecting state 0 no
> >> matter what.
> >>
> >
> > Ah, right!
> >
> >
> >> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>
> >> Namely, when state 0 is chosen (because of the check mentioned above),
> >> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >> subsequent wakeup is a tick one, it will be counted as a hit on the
> >> deepest state (and it will contribute to the total sum in the check
> >> mentioned above).  Then, at one point, cpu_data->total will be large
> >> enough and the deepest state will become the candidate one.  If
> >> tick_nohz_get_sleep_length() returns a large value at that point, the
> >> tick will be stopped and the deepest state will be entered.  Nirvana
> >> ensues.
> >
> > So fundamentally we will have to count tick-wakeups as a) nothing, which
> > doesn't allow us to ever break out of the intercept logic that caused us
> > to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> > to ever break out and c) hits == sleep_length would've been accurate.
> > Of course counting a tick wakeup as a hit for sleep_length negates the
> > intercept logic.
> >
> >>
> >> The change in commit 4b20b07ce72f causes the sleep length to fall
> >> below the deepest idle state target residency at least sometimes in
> >> the scenario above, and if the subsequent wakeup is a tick one, it
> >> doesn't matter how it is counted - it will contribute to selecting
> >> idle state 0.
> >>
> >> The mainline is affected to a lesser extent because it sometimes does
> >> what pre-6.12 did.
> >>
> >> IMV addressing this would require changing the check you've identified
> >> as the culprit, but I'm not sure how to change it TBH.
> >
> > I guess we don't really have a choice but to have every 10th or so idle
> > during intercept try the sleep_length state with tick off (i.e. disregard
> > intercept) and see if that's still the case? If the sleep length is now
> > accurate and we haven't been woken up then keep disregarding until it does
> > again?
> > It's the smartest thing I can come up with for now, but I'll give it some
> > more thought!
>
> Alternatively we could have the above but have it depend on getting measured_ns
> significantly below delta_tick, but that might be a bit risky, I'll send
> patches for both later with some preliminary results unless someone objects.

teo_reflect() checks whether or not the tick has happened and it can
pass this information to teo_update().

> For 6.12 specifically we also get away with for now with just backporting (up to)
> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent").
> Obviously this doesn't fix the underlying problem, which menu can also suffer
> from AFAICT.

My understanding is that the mainline version of teo still selects WFI
(idle state 0) too often on the Reka's system, so backporting won't
get us back to the pre-6.12 situation there, will it?

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-12 13:32                               ` Rafael J. Wysocki
@ 2025-11-12 14:03                                 ` Christian Loehle
  2025-11-12 14:16                                   ` Rafael J. Wysocki
  2025-11-13  5:13                                 ` Reka Norman
  1 sibling, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-12 14:03 UTC (permalink / raw)
  To: Rafael J. Wysocki, Reka Norman; +Cc: daniel.lezcano, linux-pm

On 11/12/25 13:32, Rafael J. Wysocki wrote:
> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>> <christian.loehle@arm.com> wrote:
>>>>
>>>> On 11/11/25 10:00, Christian Loehle wrote:
> 
> [...]
> 
>>>>> I see two issues:
>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>
>>> This shouldn't be a problem.
>>
>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>> never been an issue.
> 
> Well, I think that the leftovers can be cleared when they become less than 8.
> 
>>>
>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>> have been a really good candidate actually).
>>>
>>> Well, it would exclude the state if the sum of hits for the states
>>> below it is large enough.  This is questionable (because why would
>>> hits matter here), but I attempted to make the change below and
>>> somebody reported a regression IIRC.
>>>
>>> This check is related to the problem at hand though (see below).
>>>
>>>>>
>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>> (the documentation/comments would need adapting too, of course)
>>>>>
>>>>> -----8<-----
>>>>>
>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>          * better choice.
>>>>>          */
>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>                 int first_suitable_idx = idx;
>>>>>
>>>>>                 /*
>>>>>
>>>>>
>>>>
>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>> Maybe something like this, again lightly tested:
>>>>
>>>> -----8<-----
>>>>
>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>> --- a/drivers/cpuidle/governors/teo.c
>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>                  * has been stopped already into account.
>>>>                  */
>>>>                 intercept_sum = 0;
>>>> +               hit_sum = 0;
>>>>
>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>
>>>>                         intercept_sum += bin->intercepts;
>>>> +                       hit_sum += bin->hits;
>>>>
>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>                                 /*
>>>>                                  * Use the current state unless it is too
>>>>                                  * shallow or disabled, in which case take the
>>>
>>> This will only matter after the deepest state has been rejected
>>> already and on the system in question this means selecting state 0 no
>>> matter what.
>>>
>>
>> Ah, right!
>>
>>
>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>
>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>> deepest state (and it will contribute to the total sum in the check
>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>> enough and the deepest state will become the candidate one.  If
>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>> ensues.
>>
>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>> doesn't allow us to ever break out of the intercept logic that caused us
>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>> to ever break out and c) hits == sleep_length would've been accurate.
>> Of course counting a tick wakeup as a hit for sleep_length negates the
>> intercept logic.
> 
> Not quite.  The intercept logic is there for wakeups other than tick
> wakeups and timer wakeups.
> 
> I actually think that tick wakeups can be counted as hits on the
> deepest available state - maybe only when tick wakeups dominate the
> wakeup pattern - but generally this is not unreasonable: When the
> wakeup pattern is dominated by tick wakeups, this by itself is a good
> enough reason to stop the tick.

(assuming HZ=1000 below but it doesn't matter)
That will exclude any 'intercept' logic from having much effect if the
avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
off from state1 residency, like in Reka's case here.
That's why I thought it would cause unreasonable regressions here.
I'll give it a go as well though! 

> [snip]


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-12 13:40                                 ` Rafael J. Wysocki
@ 2025-11-12 14:14                                   ` Christian Loehle
  2025-11-12 14:23                                     ` Rafael J. Wysocki
  0 siblings, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-12 14:14 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Reka Norman, daniel.lezcano, linux-pm

On 11/12/25 13:40, Rafael J. Wysocki wrote:
> On Wed, Nov 12, 2025 at 10:51 AM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/11/25 17:20, Christian Loehle wrote:
>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>> <christian.loehle@arm.com> wrote:
> 
> [...]
> 
>>>>>> I see two issues:
>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>
>>>> This shouldn't be a problem.
>>>
>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>> never been an issue.
>>>
>>>>
>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>> have been a really good candidate actually).
>>>>
>>>> Well, it would exclude the state if the sum of hits for the states
>>>> below it is large enough.  This is questionable (because why would
>>>> hits matter here), but I attempted to make the change below and
>>>> somebody reported a regression IIRC.
>>>>
>>>> This check is related to the problem at hand though (see below).
>>>>
>>>>>>
>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>
>>>>>> -----8<-----
>>>>>>
>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>          * better choice.
>>>>>>          */
>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>                 int first_suitable_idx = idx;
>>>>>>
>>>>>>                 /*
>>>>>>
>>>>>>
>>>>>
>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>> Maybe something like this, again lightly tested:
>>>>>
>>>>> -----8<-----
>>>>>
>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>                  * has been stopped already into account.
>>>>>                  */
>>>>>                 intercept_sum = 0;
>>>>> +               hit_sum = 0;
>>>>>
>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>
>>>>>                         intercept_sum += bin->intercepts;
>>>>> +                       hit_sum += bin->hits;
>>>>>
>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>                                 /*
>>>>>                                  * Use the current state unless it is too
>>>>>                                  * shallow or disabled, in which case take the
>>>>
>>>> This will only matter after the deepest state has been rejected
>>>> already and on the system in question this means selecting state 0 no
>>>> matter what.
>>>>
>>>
>>> Ah, right!
>>>
>>>
>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>
>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>> deepest state (and it will contribute to the total sum in the check
>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>> enough and the deepest state will become the candidate one.  If
>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>> ensues.
>>>
>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>> doesn't allow us to ever break out of the intercept logic that caused us
>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>> to ever break out and c) hits == sleep_length would've been accurate.
>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>> intercept logic.
>>>
>>>>
>>>> The change in commit 4b20b07ce72f causes the sleep length to fall
>>>> below the deepest idle state target residency at least sometimes in
>>>> the scenario above, and if the subsequent wakeup is a tick one, it
>>>> doesn't matter how it is counted - it will contribute to selecting
>>>> idle state 0.
>>>>
>>>> The mainline is affected to a lesser extent because it sometimes does
>>>> what pre-6.12 did.
>>>>
>>>> IMV addressing this would require changing the check you've identified
>>>> as the culprit, but I'm not sure how to change it TBH.
>>>
>>> I guess we don't really have a choice but to have every 10th or so idle
>>> during intercept try the sleep_length state with tick off (i.e. disregard
>>> intercept) and see if that's still the case? If the sleep length is now
>>> accurate and we haven't been woken up then keep disregarding until it does
>>> again?
>>> It's the smartest thing I can come up with for now, but I'll give it some
>>> more thought!
>>
>> Alternatively we could have the above but have it depend on getting measured_ns
>> significantly below delta_tick, but that might be a bit risky, I'll send
>> patches for both later with some preliminary results unless someone objects.
> 
> teo_reflect() checks whether or not the tick has happened and it can
> pass this information to teo_update().
> 
>> For 6.12 specifically we also get away with for now with just backporting (up to)
>> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent").
>> Obviously this doesn't fix the underlying problem, which menu can also suffer
>> from AFAICT.
> 
> My understanding is that the mainline version of teo still selects WFI
> (idle state 0) too often on the Reka's system, so backporting won't
> get us back to the pre-6.12 situation there, will it?

From what I can see 6.6 is a bit too aggressive in selecting deep states?
It's certainly debatable, but here's the results again:

Per-Cluster deltas: BIG
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| BIG     |     0 | WFI          | 376,034    |   1.17% | 1,368  | 0      |   0.00% | 0      |   0.00% |
| BIG     |     1 | cpuoff-b     | 2,679,129  |   8.33% | 82     | 42     |  51.22% | 40     |  48.78% |
| BIG     |     2 | clusteroff-b | 29,124,994 |  90.51% | 415    | 99     |  23.86% | 0      |   0.00% |
| BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     | TOTAL |              | 32,180,157 | 100.00% | 1,865  | 141    |   7.56% | 40     |   2.14% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: LITTLE
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+=============+=========+========+========+=========+========+=========+
| LITTLE  |     0 | WFI          | 3,902,851   |   3.04% | 10,026 | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     1 | cpuoff-l     | 11,604,484  |   9.05% | 715    | 383    |  53.57% | 329    |  46.01% |
| LITTLE  |     2 | clusteroff-l | 112,706,855 |  87.91% | 3,479  | 1,454  |  41.79% | 0      |   0.00% |
| LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| LITTLE  | TOTAL |              | 128,214,190 | 100.00% | 14,220 | 1,837  |  12.92% | 329    |   2.31% |
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: MID
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| MID     |     0 | WFI          | 865,879    |   0.90% | 3,683  | 0      |   0.00% | 0      |   0.00% |
| MID     |     1 | cpuoff-m     | 9,721,676  |  10.13% | 168    | 82     |  48.81% | 84     |  50.00% |
| MID     |     2 | clusteroff-m | 85,388,410 |  88.97% | 599    | 223    |  37.23% | 0      |   0.00% |
| MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| MID     | TOTAL |              | 95,975,965 | 100.00% | 4,450  | 305    |   6.85% | 84     |   1.89% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

The assumption of course that above misses hurt performance and power while below above 'only' wastes
power and therefore you'd rather risk more belows than aboves.
At least on arm64 the power savings of WFI compared to cpuoff isn't drastic on the smaller cores, while
the latency is definitely noticeable, but obviously the governor doesn't (and probably shouldn't) know
that.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-12 14:03                                 ` Christian Loehle
@ 2025-11-12 14:16                                   ` Rafael J. Wysocki
  2025-11-12 18:33                                     ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-12 14:16 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, Reka Norman, daniel.lezcano, linux-pm

On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> > On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>> <christian.loehle@arm.com> wrote:
> >>>>
> >>>> On 11/11/25 10:00, Christian Loehle wrote:
> >
> > [...]
> >
> >>>>> I see two issues:
> >>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>
> >>> This shouldn't be a problem.
> >>
> >> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >> never been an issue.
> >
> > Well, I think that the leftovers can be cleared when they become less than 8.
> >
> >>>
> >>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>> have been a really good candidate actually).
> >>>
> >>> Well, it would exclude the state if the sum of hits for the states
> >>> below it is large enough.  This is questionable (because why would
> >>> hits matter here), but I attempted to make the change below and
> >>> somebody reported a regression IIRC.
> >>>
> >>> This check is related to the problem at hand though (see below).
> >>>
> >>>>>
> >>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>> (the documentation/comments would need adapting too, of course)
> >>>>>
> >>>>> -----8<-----
> >>>>>
> >>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>          * better choice.
> >>>>>          */
> >>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>                 int first_suitable_idx = idx;
> >>>>>
> >>>>>                 /*
> >>>>>
> >>>>>
> >>>>
> >>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>> Maybe something like this, again lightly tested:
> >>>>
> >>>> -----8<-----
> >>>>
> >>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>> --- a/drivers/cpuidle/governors/teo.c
> >>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>                  * has been stopped already into account.
> >>>>                  */
> >>>>                 intercept_sum = 0;
> >>>> +               hit_sum = 0;
> >>>>
> >>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>
> >>>>                         intercept_sum += bin->intercepts;
> >>>> +                       hit_sum += bin->hits;
> >>>>
> >>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>                                 /*
> >>>>                                  * Use the current state unless it is too
> >>>>                                  * shallow or disabled, in which case take the
> >>>
> >>> This will only matter after the deepest state has been rejected
> >>> already and on the system in question this means selecting state 0 no
> >>> matter what.
> >>>
> >>
> >> Ah, right!
> >>
> >>
> >>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>
> >>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>> deepest state (and it will contribute to the total sum in the check
> >>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>> enough and the deepest state will become the candidate one.  If
> >>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>> ensues.
> >>
> >> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >> doesn't allow us to ever break out of the intercept logic that caused us
> >> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >> to ever break out and c) hits == sleep_length would've been accurate.
> >> Of course counting a tick wakeup as a hit for sleep_length negates the
> >> intercept logic.
> >
> > Not quite.  The intercept logic is there for wakeups other than tick
> > wakeups and timer wakeups.
> >
> > I actually think that tick wakeups can be counted as hits on the
> > deepest available state - maybe only when tick wakeups dominate the
> > wakeup pattern - but generally this is not unreasonable: When the
> > wakeup pattern is dominated by tick wakeups, this by itself is a good
> > enough reason to stop the tick.
>
> (assuming HZ=1000 below but it doesn't matter)
> That will exclude any 'intercept' logic from having much effect if the
> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> off from state1 residency, like in Reka's case here.
> That's why I thought it would cause unreasonable regressions here.
> I'll give it a go as well though!

Thanks!

Note that I'd prefer to add a check if tick wakeups dominate the
wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
I'd first like to know how the Reka's system reacts to the more
drastic variant of this change.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-12 14:14                                   ` Christian Loehle
@ 2025-11-12 14:23                                     ` Rafael J. Wysocki
  0 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-12 14:23 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, Reka Norman, daniel.lezcano, linux-pm

On Wed, Nov 12, 2025 at 3:14 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/12/25 13:40, Rafael J. Wysocki wrote:
> > On Wed, Nov 12, 2025 at 10:51 AM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/11/25 17:20, Christian Loehle wrote:
> >>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>> <christian.loehle@arm.com> wrote:
> >
> > [...]
> >
> >>>>>> I see two issues:
> >>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>
> >>>> This shouldn't be a problem.
> >>>
> >>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>> never been an issue.
> >>>
> >>>>
> >>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>> have been a really good candidate actually).
> >>>>
> >>>> Well, it would exclude the state if the sum of hits for the states
> >>>> below it is large enough.  This is questionable (because why would
> >>>> hits matter here), but I attempted to make the change below and
> >>>> somebody reported a regression IIRC.
> >>>>
> >>>> This check is related to the problem at hand though (see below).
> >>>>
> >>>>>>
> >>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>
> >>>>>> -----8<-----
> >>>>>>
> >>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>          * better choice.
> >>>>>>          */
> >>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>                 int first_suitable_idx = idx;
> >>>>>>
> >>>>>>                 /*
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>> Maybe something like this, again lightly tested:
> >>>>>
> >>>>> -----8<-----
> >>>>>
> >>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>                  * has been stopped already into account.
> >>>>>                  */
> >>>>>                 intercept_sum = 0;
> >>>>> +               hit_sum = 0;
> >>>>>
> >>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>
> >>>>>                         intercept_sum += bin->intercepts;
> >>>>> +                       hit_sum += bin->hits;
> >>>>>
> >>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>                                 /*
> >>>>>                                  * Use the current state unless it is too
> >>>>>                                  * shallow or disabled, in which case take the
> >>>>
> >>>> This will only matter after the deepest state has been rejected
> >>>> already and on the system in question this means selecting state 0 no
> >>>> matter what.
> >>>>
> >>>
> >>> Ah, right!
> >>>
> >>>
> >>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>
> >>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>> deepest state (and it will contribute to the total sum in the check
> >>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>> enough and the deepest state will become the candidate one.  If
> >>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>> ensues.
> >>>
> >>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>> doesn't allow us to ever break out of the intercept logic that caused us
> >>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>> to ever break out and c) hits == sleep_length would've been accurate.
> >>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>> intercept logic.
> >>>
> >>>>
> >>>> The change in commit 4b20b07ce72f causes the sleep length to fall
> >>>> below the deepest idle state target residency at least sometimes in
> >>>> the scenario above, and if the subsequent wakeup is a tick one, it
> >>>> doesn't matter how it is counted - it will contribute to selecting
> >>>> idle state 0.
> >>>>
> >>>> The mainline is affected to a lesser extent because it sometimes does
> >>>> what pre-6.12 did.
> >>>>
> >>>> IMV addressing this would require changing the check you've identified
> >>>> as the culprit, but I'm not sure how to change it TBH.
> >>>
> >>> I guess we don't really have a choice but to have every 10th or so idle
> >>> during intercept try the sleep_length state with tick off (i.e. disregard
> >>> intercept) and see if that's still the case? If the sleep length is now
> >>> accurate and we haven't been woken up then keep disregarding until it does
> >>> again?
> >>> It's the smartest thing I can come up with for now, but I'll give it some
> >>> more thought!
> >>
> >> Alternatively we could have the above but have it depend on getting measured_ns
> >> significantly below delta_tick, but that might be a bit risky, I'll send
> >> patches for both later with some preliminary results unless someone objects.
> >
> > teo_reflect() checks whether or not the tick has happened and it can
> > pass this information to teo_update().
> >
> >> For 6.12 specifically we also get away with for now with just backporting (up to)
> >> 13ed5c4a6d9c ("cpuidle: teo: Skip getting the sleep length if wakeups are very frequent").
> >> Obviously this doesn't fix the underlying problem, which menu can also suffer
> >> from AFAICT.
> >
> > My understanding is that the mainline version of teo still selects WFI
> > (idle state 0) too often on the Reka's system, so backporting won't
> > get us back to the pre-6.12 situation there, will it?
>
> From what I can see 6.6 is a bit too aggressive in selecting deep states?

You can say so.  It depends a good deal on what the expectation is though.

I think that the mainline is almost there, but it still has the case
in which it doesn't matter how a tick wakeup is counted (at least on
the Reka's system) which is a bit concerning.

> It's certainly debatable, but here's the results again:
>
> Per-Cluster deltas: BIG
> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> +=========+=======+==============+============+=========+========+========+=========+========+=========+
> | BIG     |     0 | WFI          | 376,034    |   1.17% | 1,368  | 0      |   0.00% | 0      |   0.00% |
> | BIG     |     1 | cpuoff-b     | 2,679,129  |   8.33% | 82     | 42     |  51.22% | 40     |  48.78% |
> | BIG     |     2 | clusteroff-b | 29,124,994 |  90.51% | 415    | 99     |  23.86% | 0      |   0.00% |
> | BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> | BIG     | TOTAL |              | 32,180,157 | 100.00% | 1,865  | 141    |   7.56% | 40     |   2.14% |
> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
>
> Per-Cluster deltas: LITTLE
> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
> | cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> +=========+=======+==============+=============+=========+========+========+=========+========+=========+
> | LITTLE  |     0 | WFI          | 3,902,851   |   3.04% | 10,026 | 0      |   0.00% | 0      |   0.00% |
> | LITTLE  |     1 | cpuoff-l     | 11,604,484  |   9.05% | 715    | 383    |  53.57% | 329    |  46.01% |
> | LITTLE  |     2 | clusteroff-l | 112,706,855 |  87.91% | 3,479  | 1,454  |  41.79% | 0      |   0.00% |
> | LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> | LITTLE  | TOTAL |              | 128,214,190 | 100.00% | 14,220 | 1,837  |  12.92% | 329    |   2.31% |
> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
>
> Per-Cluster deltas: MID
> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> +=========+=======+==============+============+=========+========+========+=========+========+=========+
> | MID     |     0 | WFI          | 865,879    |   0.90% | 3,683  | 0      |   0.00% | 0      |   0.00% |
> | MID     |     1 | cpuoff-m     | 9,721,676  |  10.13% | 168    | 82     |  48.81% | 84     |  50.00% |
> | MID     |     2 | clusteroff-m | 85,388,410 |  88.97% | 599    | 223    |  37.23% | 0      |   0.00% |
> | MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> | MID     | TOTAL |              | 95,975,965 | 100.00% | 4,450  | 305    |   6.85% | 84     |   1.89% |
> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
>
> The assumption of course that above misses hurt performance and power while below above 'only' wastes
> power and therefore you'd rather risk more belows than aboves.
> At least on arm64 the power savings of WFI compared to cpuoff isn't drastic on the smaller cores, while
> the latency is definitely noticeable, but obviously the governor doesn't (and probably shouldn't) know
> that.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-12 14:16                                   ` Rafael J. Wysocki
@ 2025-11-12 18:33                                     ` Christian Loehle
  2025-11-13 15:43                                       ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-12 18:33 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Reka Norman, daniel.lezcano, linux-pm

On 11/12/25 14:16, Rafael J. Wysocki wrote:
> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
>>> <christian.loehle@arm.com> wrote:
>>>>
>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>>> <christian.loehle@arm.com> wrote:
>>>>>>
>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>
>>> [...]
>>>
>>>>>>> I see two issues:
>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>>
>>>>> This shouldn't be a problem.
>>>>
>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>>> never been an issue.
>>>
>>> Well, I think that the leftovers can be cleared when they become less than 8.
>>>
>>>>>
>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>>> have been a really good candidate actually).
>>>>>
>>>>> Well, it would exclude the state if the sum of hits for the states
>>>>> below it is large enough.  This is questionable (because why would
>>>>> hits matter here), but I attempted to make the change below and
>>>>> somebody reported a regression IIRC.
>>>>>
>>>>> This check is related to the problem at hand though (see below).
>>>>>
>>>>>>>
>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>>
>>>>>>> -----8<-----
>>>>>>>
>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>>          * better choice.
>>>>>>>          */
>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>>                 int first_suitable_idx = idx;
>>>>>>>
>>>>>>>                 /*
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>>> Maybe something like this, again lightly tested:
>>>>>>
>>>>>> -----8<-----
>>>>>>
>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>                  * has been stopped already into account.
>>>>>>                  */
>>>>>>                 intercept_sum = 0;
>>>>>> +               hit_sum = 0;
>>>>>>
>>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>>
>>>>>>                         intercept_sum += bin->intercepts;
>>>>>> +                       hit_sum += bin->hits;
>>>>>>
>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>>                                 /*
>>>>>>                                  * Use the current state unless it is too
>>>>>>                                  * shallow or disabled, in which case take the
>>>>>
>>>>> This will only matter after the deepest state has been rejected
>>>>> already and on the system in question this means selecting state 0 no
>>>>> matter what.
>>>>>
>>>>
>>>> Ah, right!
>>>>
>>>>
>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>>
>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>>> deepest state (and it will contribute to the total sum in the check
>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>>> enough and the deepest state will become the candidate one.  If
>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>>> ensues.
>>>>
>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>>> doesn't allow us to ever break out of the intercept logic that caused us
>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>>> to ever break out and c) hits == sleep_length would've been accurate.
>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>>> intercept logic.
>>>
>>> Not quite.  The intercept logic is there for wakeups other than tick
>>> wakeups and timer wakeups.
>>>
>>> I actually think that tick wakeups can be counted as hits on the
>>> deepest available state - maybe only when tick wakeups dominate the
>>> wakeup pattern - but generally this is not unreasonable: When the
>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
>>> enough reason to stop the tick.
>>
>> (assuming HZ=1000 below but it doesn't matter)
>> That will exclude any 'intercept' logic from having much effect if the
>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
>> off from state1 residency, like in Reka's case here.
>> That's why I thought it would cause unreasonable regressions here.
>> I'll give it a go as well though!
> 
> Thanks!
> 
> Note that I'd prefer to add a check if tick wakeups dominate the
> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> I'd first like to know how the Reka's system reacts to the more
> drastic variant of this change.

Below are my usual tests, it's definitely visible but the impact is limited
on this platform anyway. I think if we gate the KTIME_MAX setting behind
the "tick wakeup dominate" it should be acceptable!
Let's see what Reka reports.

device     gov        iter     iops      idles  idle_miss      ratio     belows     aboves
mmcblk1    teo-m      0      2331     639646        147      0.000        112         35
mmcblk1    teo-m      1      2349     642996         57      0.000         41         16
mmcblk1    teo-m      2      2332     642354         56      0.000         41         15
mmcblk1    teo-patch  0      2326     599172       1879      0.003       1848         31
mmcblk1    teo-patch  1      2326     600758       1985      0.003       1951         34
mmcblk1    teo-patch  2      2325     596952       1958      0.003       1925         33
mmcblk1    teo-6-6    0      2336     592780       1767      0.003       1704         63
mmcblk1    teo-6-6    1      2333     600766       1540      0.003       1509         31
mmcblk1    teo-6-6    2      2332     599472       1619      0.003       1556         63
mmcblk1    teo-6-12   0      2331     699264         28      0.000         18         10
mmcblk1    teo-6-12   1      2336     725778          4      0.000          3          1
mmcblk1    teo-6-12   2      2344     719444          7      0.000          6          1
mmcblk2    teo-m      0      5693     866432        958      0.001        929         29
mmcblk2    teo-m      1      5686     866342         61      0.000         38         23
mmcblk2    teo-m      2      5627     700660       3468      0.005       3411         57
mmcblk2    teo-patch  0      5148     669428      49931      0.075      49888         43
mmcblk2    teo-patch  1      5405     742294      26013      0.035      25988         25
mmcblk2    teo-patch  2      5117     700422      53294      0.076      53276         18
mmcblk2    teo-6-6    0      5658     816016       4851      0.006       4830         21
mmcblk2    teo-6-6    1      5701     847102       3141      0.004       1508       1633
mmcblk2    teo-6-6    2      5823     848040       3504      0.004       2413       1091
mmcblk2    teo-6-12   0      5648     780954          4      0.000          2          2
mmcblk2    teo-6-12   1      5669     975648          6      0.000          4          2
mmcblk2    teo-6-12   2      5681     935194          9      0.000          6          3
nvme0n1    teo-m      0     10486     776106         75      0.000         57         18
nvme0n1    teo-m      1     11795     857688        112      0.000         48         64
nvme0n1    teo-m      2     10374     767134        107      0.000         49         58
nvme0n1    teo-patch  0     10813     752086       1913      0.003       1792        121
nvme0n1    teo-patch  1     10730     752280       1734      0.002       1642         92
nvme0n1    teo-patch  2     11474     798976       1796      0.002       1664        132
nvme0n1    teo-6-6    0     10416     731240       1588      0.002       1525         63
nvme0n1    teo-6-6    1     10693     747664       1699      0.002       1576        123
nvme0n1    teo-6-6    2     10652     745848       1844      0.002       1740        104
nvme0n1    teo-6-12   0     10657     958428         21      0.000         11         10
nvme0n1    teo-6-12   1     11508    1042604          5      0.000          5          0
nvme0n1    teo-6-12   2     10562     917098        120      0.000         61         59
sda        teo-m      0      1271     627586        549      0.001        530         19
sda        teo-m      1      1275     842724         63      0.000         47         16
sda        teo-m      2      1271     843048        303      0.000        229         74
sda        teo-patch  0      1218     749892      56469      0.075      56466          3
sda        teo-patch  1      1238     738258      20579      0.028      20569         10
sda        teo-patch  2      1199     684780      73871      0.108      73822         49
sda        teo-6-6    0      1268     766452       2554      0.003       2544         10
sda        teo-6-6    1      1267     767080       3405      0.004       2857        548
sda        teo-6-6    2      1264     537394       4374      0.008       4359         15
sda        teo-6-12   0      1271     890540          4      0.000          3          1
sda        teo-6-12   1      1271     890898          7      0.000          6          1
sda        teo-6-12   2      1271     897370          1      0.000          1          0
nullb0     teo-m      0    101665     112024        156      0.001         23        133
nullb0     teo-m      1    101735     112060        250      0.002        145        105
nullb0     teo-m      2    101439     112700        105      0.001         50         55
nullb0     teo-patch  0    102434      74802       2024      0.027       1974         50
nullb0     teo-patch  1    101920      75126       1785      0.024       1759         26
nullb0     teo-patch  2    101471      71876       2201      0.031       1998        203
nullb0     teo-6-6    0    101455      75484       1974      0.026       1808        166
nullb0     teo-6-6    1    101893      75116       1862      0.025       1726        136
nullb0     teo-6-6    2    101853      65582       3474      0.053       1529       1945


^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-12 13:32                               ` Rafael J. Wysocki
  2025-11-12 14:03                                 ` Christian Loehle
@ 2025-11-13  5:13                                 ` Reka Norman
  2025-11-13 10:52                                   ` Rafael J. Wysocki
  1 sibling, 1 reply; 48+ messages in thread
From: Reka Norman @ 2025-11-13  5:13 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Christian Loehle, daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 5842 bytes --]

On Thu, Nov 13, 2025 at 12:32 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> <christian.loehle@arm.com> wrote:
> >
> > On 11/11/25 11:48, Rafael J. Wysocki wrote:
> > > On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> > > <christian.loehle@arm.com> wrote:
> > >>
> > >> On 11/11/25 10:00, Christian Loehle wrote:
>
> [...]
>
> > >>> I see two issues:
> > >>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> > >
> > > This shouldn't be a problem.
> >
> > Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> > never been an issue.
>
> Well, I think that the leftovers can be cleared when they become less than 8.
>
> > >
> > >>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> > >>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> > >>> have been a really good candidate actually).
> > >
> > > Well, it would exclude the state if the sum of hits for the states
> > > below it is large enough.  This is questionable (because why would
> > > hits matter here), but I attempted to make the change below and
> > > somebody reported a regression IIRC.
> > >
> > > This check is related to the problem at hand though (see below).
> > >
> > >>>
> > >>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> > >>> (the documentation/comments would need adapting too, of course)
> > >>>
> > >>> -----8<-----
> > >>>
> > >>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > >>> index bfa55c1eab5b..f8f76e3b8364 100644
> > >>> --- a/drivers/cpuidle/governors/teo.c
> > >>> +++ b/drivers/cpuidle/governors/teo.c
> > >>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> > >>>          * all of the deeper states, a shallower idle state is likely to be a
> > >>>          * better choice.
> > >>>          */
> > >>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> > >>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> > >>>                 int first_suitable_idx = idx;
> > >>>
> > >>>                 /*
> > >>>
> > >>>
> > >>
> > >> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> > >> Maybe something like this, again lightly tested:
> > >>
> > >> -----8<-----
> > >>
> > >> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > >> index 173ddcac540a..6bfb9cedb75e 100644
> > >> --- a/drivers/cpuidle/governors/teo.c
> > >> +++ b/drivers/cpuidle/governors/teo.c
> > >> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> > >>                  * has been stopped already into account.
> > >>                  */
> > >>                 intercept_sum = 0;
> > >> +               hit_sum = 0;
> > >>
> > >>                 for (i = idx - 1; i >= 0; i--) {
> > >>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> > >>
> > >>                         intercept_sum += bin->intercepts;
> > >> +                       hit_sum += bin->hits;
> > >>
> > >> -                       if (2 * intercept_sum > idx_intercept_sum) {
> > >> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> > >>                                 /*
> > >>                                  * Use the current state unless it is too
> > >>                                  * shallow or disabled, in which case take the
> > >
> > > This will only matter after the deepest state has been rejected
> > > already and on the system in question this means selecting state 0 no
> > > matter what.
> > >
> >
> > Ah, right!
> >
> >
> > > The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> > >
> > > Namely, when state 0 is chosen (because of the check mentioned above),
> > > the tick is not stopped and the sleep length is KTIME_MAX.  If the
> > > subsequent wakeup is a tick one, it will be counted as a hit on the
> > > deepest state (and it will contribute to the total sum in the check
> > > mentioned above).  Then, at one point, cpu_data->total will be large
> > > enough and the deepest state will become the candidate one.  If
> > > tick_nohz_get_sleep_length() returns a large value at that point, the
> > > tick will be stopped and the deepest state will be entered.  Nirvana
> > > ensues.
> >
> > So fundamentally we will have to count tick-wakeups as a) nothing, which
> > doesn't allow us to ever break out of the intercept logic that caused us
> > to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> > to ever break out and c) hits == sleep_length would've been accurate.
> > Of course counting a tick wakeup as a hit for sleep_length negates the
> > intercept logic.
>
> Not quite.  The intercept logic is there for wakeups other than tick
> wakeups and timer wakeups.
>
> I actually think that tick wakeups can be counted as hits on the
> deepest available state - maybe only when tick wakeups dominate the
> wakeup pattern - but generally this is not unreasonable: When the
> wakeup pattern is dominated by tick wakeups, this by itself is a good
> enough reason to stop the tick.
>
> The attached patch tests the theory above, let's see how far it gets
> us.  Reka, can you please test this one on top of the mainline and see
> if it gets you more deep idle state residency?

Yes, that definitely makes a difference! Results attached. They're
pretty comparable to 6.6 - about 2% WFI on average across CPUs.

[-- Attachment #2: sysfs_mainline_tick_wakeups_after.txt --]
[-- Type: text/plain, Size: 25014 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:8504080
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:29719
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:4467
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:3581
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:95
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:73244853
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:8131
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:3705
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2269863
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:127072690
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:9093
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:22142
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:10496908
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:39811
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:70
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:60
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:4
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:3001247
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:131
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1930
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2003690
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:200280664
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:5485
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4450
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:7674147
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:36757
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:58
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:21
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:13
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:1834373
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:79
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1672
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2113726
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:203492449
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:3679
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:1933
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:9649249
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:36879
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:52
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:20
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:2
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:857596
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:72
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:2135
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2259285
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:201590639
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:4833
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1877
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:3214897
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:25705
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:37
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:8
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:5
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:1042370
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:45
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:614
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3227265
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:206927973
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:1499
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1185
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:3005263
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:21980
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:33
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:7
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:8
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:309980
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:40
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:601
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3299448
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:207630334
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:1463
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2554
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:3311636
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:24768
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:41
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:15
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:12
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1201836
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:56
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:686
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3201551
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:206774060
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:1646
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:3063
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:3284214
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:20104
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:43
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:14
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:14
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:1225646
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:57
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:900
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2944647
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:205647056
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2797
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1516
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #3: trace_mainline_tick_wakeups.dat --]
[-- Type: application/octet-stream, Size: 1044174 bytes --]

[-- Attachment #4: sysfs_mainline_tick_wakeups_before.txt --]
[-- Type: text/plain, Size: 25010 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:7760518
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:28062
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:4122
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:3174
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:86
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:63894744
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:7375
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:3179
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2269829
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:105485857
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:7725
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:22142
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:9600720
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:37564
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:51
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:57
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:4
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:2812667
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:109
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:1481
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2003674
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:169650575
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:4478
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:4450
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:7105058
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:34663
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:52
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:20
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:7
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:1809664
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:72
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:1341
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2113717
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:172300159
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:3141
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:1933
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:8249899
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:34806
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:40
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:20
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:2
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:853896
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:60
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:1640
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2259248
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:171077747
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:3988
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1877
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:2986799
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:24529
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:18
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:7
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:1
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:1009892
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:25
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:537
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3227265
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:175134209
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:1317
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:1185
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:2784045
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:20822
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:22
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:7
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:8
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:306244
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:29
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:527
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3299448
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:175901897
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:1295
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:2554
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:3085111
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:23585
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:22
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:13
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:7
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1033947
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:35
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:597
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3201550
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:175191755
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:1454
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:3063
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:3021702
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:18858
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:27
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:12
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:8
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:1204622
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:39
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:803
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:2944638
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:173895494
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:2485
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:1516
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-13  5:13                                 ` Reka Norman
@ 2025-11-13 10:52                                   ` Rafael J. Wysocki
  0 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-13 10:52 UTC (permalink / raw)
  To: Reka Norman; +Cc: Rafael J. Wysocki, Christian Loehle, daniel.lezcano, linux-pm

On Thu, Nov 13, 2025 at 6:13 AM Reka Norman <rekanorman@chromium.org> wrote:
>
> On Thu, Nov 13, 2025 at 12:32 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> > >
> > > On 11/11/25 11:48, Rafael J. Wysocki wrote:
> > > > On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> > > > <christian.loehle@arm.com> wrote:
> > > >>
> > > >> On 11/11/25 10:00, Christian Loehle wrote:
> >
> > [...]
> >
> > > >>> I see two issues:
> > > >>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> > > >
> > > > This shouldn't be a problem.
> > >
> > > Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> > > never been an issue.
> >
> > Well, I think that the leftovers can be cleared when they become less than 8.
> >
> > > >
> > > >>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> > > >>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> > > >>> have been a really good candidate actually).
> > > >
> > > > Well, it would exclude the state if the sum of hits for the states
> > > > below it is large enough.  This is questionable (because why would
> > > > hits matter here), but I attempted to make the change below and
> > > > somebody reported a regression IIRC.
> > > >
> > > > This check is related to the problem at hand though (see below).
> > > >
> > > >>>
> > > >>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> > > >>> (the documentation/comments would need adapting too, of course)
> > > >>>
> > > >>> -----8<-----
> > > >>>
> > > >>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > > >>> index bfa55c1eab5b..f8f76e3b8364 100644
> > > >>> --- a/drivers/cpuidle/governors/teo.c
> > > >>> +++ b/drivers/cpuidle/governors/teo.c
> > > >>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> > > >>>          * all of the deeper states, a shallower idle state is likely to be a
> > > >>>          * better choice.
> > > >>>          */
> > > >>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> > > >>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> > > >>>                 int first_suitable_idx = idx;
> > > >>>
> > > >>>                 /*
> > > >>>
> > > >>>
> > > >>
> > > >> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> > > >> Maybe something like this, again lightly tested:
> > > >>
> > > >> -----8<-----
> > > >>
> > > >> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > > >> index 173ddcac540a..6bfb9cedb75e 100644
> > > >> --- a/drivers/cpuidle/governors/teo.c
> > > >> +++ b/drivers/cpuidle/governors/teo.c
> > > >> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> > > >>                  * has been stopped already into account.
> > > >>                  */
> > > >>                 intercept_sum = 0;
> > > >> +               hit_sum = 0;
> > > >>
> > > >>                 for (i = idx - 1; i >= 0; i--) {
> > > >>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> > > >>
> > > >>                         intercept_sum += bin->intercepts;
> > > >> +                       hit_sum += bin->hits;
> > > >>
> > > >> -                       if (2 * intercept_sum > idx_intercept_sum) {
> > > >> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> > > >>                                 /*
> > > >>                                  * Use the current state unless it is too
> > > >>                                  * shallow or disabled, in which case take the
> > > >
> > > > This will only matter after the deepest state has been rejected
> > > > already and on the system in question this means selecting state 0 no
> > > > matter what.
> > > >
> > >
> > > Ah, right!
> > >
> > >
> > > > The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> > > >
> > > > Namely, when state 0 is chosen (because of the check mentioned above),
> > > > the tick is not stopped and the sleep length is KTIME_MAX.  If the
> > > > subsequent wakeup is a tick one, it will be counted as a hit on the
> > > > deepest state (and it will contribute to the total sum in the check
> > > > mentioned above).  Then, at one point, cpu_data->total will be large
> > > > enough and the deepest state will become the candidate one.  If
> > > > tick_nohz_get_sleep_length() returns a large value at that point, the
> > > > tick will be stopped and the deepest state will be entered.  Nirvana
> > > > ensues.
> > >
> > > So fundamentally we will have to count tick-wakeups as a) nothing, which
> > > doesn't allow us to ever break out of the intercept logic that caused us
> > > to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> > > to ever break out and c) hits == sleep_length would've been accurate.
> > > Of course counting a tick wakeup as a hit for sleep_length negates the
> > > intercept logic.
> >
> > Not quite.  The intercept logic is there for wakeups other than tick
> > wakeups and timer wakeups.
> >
> > I actually think that tick wakeups can be counted as hits on the
> > deepest available state - maybe only when tick wakeups dominate the
> > wakeup pattern - but generally this is not unreasonable: When the
> > wakeup pattern is dominated by tick wakeups, this by itself is a good
> > enough reason to stop the tick.
> >
> > The attached patch tests the theory above, let's see how far it gets
> > us.  Reka, can you please test this one on top of the mainline and see
> > if it gets you more deep idle state residency?
>
> Yes, that definitely makes a difference! Results attached. They're
> pretty comparable to 6.6 - about 2% WFI on average across CPUs.

Cool, thanks!

We seem to be on the right track.

This version of the patch is overly aggressive and I'm going to send
an adulterated version of it later today.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-12 18:33                                     ` Christian Loehle
@ 2025-11-13 15:43                                       ` Christian Loehle
  2025-11-13 16:56                                         ` [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups Rafael J. Wysocki
  2025-11-19 22:43                                         ` Regression in TEO cpuidle governor between 6.6 and 6.12 Doug Smythies
  0 siblings, 2 replies; 48+ messages in thread
From: Christian Loehle @ 2025-11-13 15:43 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Reka Norman, daniel.lezcano, linux-pm

On 11/12/25 18:33, Christian Loehle wrote:
> On 11/12/25 14:16, Rafael J. Wysocki wrote:
>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
>> <christian.loehle@arm.com> wrote:
>>>
>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
>>>> <christian.loehle@arm.com> wrote:
>>>>>
>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>
>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>>
>>>> [...]
>>>>
>>>>>>>> I see two issues:
>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>>>
>>>>>> This shouldn't be a problem.
>>>>>
>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>>>> never been an issue.
>>>>
>>>> Well, I think that the leftovers can be cleared when they become less than 8.
>>>>
>>>>>>
>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>>>> have been a really good candidate actually).
>>>>>>
>>>>>> Well, it would exclude the state if the sum of hits for the states
>>>>>> below it is large enough.  This is questionable (because why would
>>>>>> hits matter here), but I attempted to make the change below and
>>>>>> somebody reported a regression IIRC.
>>>>>>
>>>>>> This check is related to the problem at hand though (see below).
>>>>>>
>>>>>>>>
>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>>>
>>>>>>>> -----8<-----
>>>>>>>>
>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>>>          * better choice.
>>>>>>>>          */
>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>>>                 int first_suitable_idx = idx;
>>>>>>>>
>>>>>>>>                 /*
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>>>> Maybe something like this, again lightly tested:
>>>>>>>
>>>>>>> -----8<-----
>>>>>>>
>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>                  * has been stopped already into account.
>>>>>>>                  */
>>>>>>>                 intercept_sum = 0;
>>>>>>> +               hit_sum = 0;
>>>>>>>
>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>>>
>>>>>>>                         intercept_sum += bin->intercepts;
>>>>>>> +                       hit_sum += bin->hits;
>>>>>>>
>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>>>                                 /*
>>>>>>>                                  * Use the current state unless it is too
>>>>>>>                                  * shallow or disabled, in which case take the
>>>>>>
>>>>>> This will only matter after the deepest state has been rejected
>>>>>> already and on the system in question this means selecting state 0 no
>>>>>> matter what.
>>>>>>
>>>>>
>>>>> Ah, right!
>>>>>
>>>>>
>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>>>
>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>>>> deepest state (and it will contribute to the total sum in the check
>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>>>> enough and the deepest state will become the candidate one.  If
>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>>>> ensues.
>>>>>
>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>>>> doesn't allow us to ever break out of the intercept logic that caused us
>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>>>> to ever break out and c) hits == sleep_length would've been accurate.
>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>>>> intercept logic.
>>>>
>>>> Not quite.  The intercept logic is there for wakeups other than tick
>>>> wakeups and timer wakeups.
>>>>
>>>> I actually think that tick wakeups can be counted as hits on the
>>>> deepest available state - maybe only when tick wakeups dominate the
>>>> wakeup pattern - but generally this is not unreasonable: When the
>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
>>>> enough reason to stop the tick.
>>>
>>> (assuming HZ=1000 below but it doesn't matter)
>>> That will exclude any 'intercept' logic from having much effect if the
>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
>>> off from state1 residency, like in Reka's case here.
>>> That's why I thought it would cause unreasonable regressions here.
>>> I'll give it a go as well though!
>>
>> Thanks!
>>
>> Note that I'd prefer to add a check if tick wakeups dominate the
>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
>> I'd first like to know how the Reka's system reacts to the more
>> drastic variant of this change.
> 
> Below are my usual tests, it's definitely visible but the impact is limited
> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> the "tick wakeup dominate" it should be acceptable!
> Let's see what Reka reports.
> 
Forgot to post the full results, anyway as expected with mtdblock (a very slow
/ low frequent wakeup scenario) the impact becomes clearly visible.
Still hopeful that the more conservative approach will be acceptable!

device     gov        iter     iops      idles  idle_miss      ratio     belows     aboves
mmcblk1    teo-m      0      2330     644806         69      0.000         47         22
mmcblk1    teo-m      1      2328     642994        102      0.000         66         36
mmcblk1    teo-m      2      2352     644020         44      0.000         28         16
mmcblk1    teo-patch  0      2323     596298       1830      0.003       1799         31
mmcblk1    teo-patch  1      2324     598574       1964      0.003       1926         38
mmcblk1    teo-patch  2      2325     599980       1908      0.003       1894         14
mmcblk1    teo-6-6    0      2329     596768       1753      0.003       1686         67
mmcblk1    teo-6-6    1      2330     600324       1527      0.003       1495         32
mmcblk1    teo-6-6    2      2331     600110       1439      0.002       1397         42
mmcblk1    teo-6-12   0      2347     741170          6      0.000          4          2
mmcblk1    teo-6-12   1      2329     782232          0      0.000          4          2
mmcblk1    teo-6-12   2      2328     775652         10      0.000          8          2
mmcblk2    teo-m      0      5758     860660         61      0.000         47         14
mmcblk2    teo-m      1      5731     827264        493      0.001        477         16
mmcblk2    teo-m      2      5700     861346         69      0.000         50         19
mmcblk2    teo-patch  0      5494     817672      19415      0.024      19379         36
mmcblk2    teo-patch  1      5474     717618      20018      0.028      19962         56
mmcblk2    teo-patch  2      5308     640356      33998      0.053      33970         28
mmcblk2    teo-6-6    0      5692     848824       1748      0.002       1685         63
mmcblk2    teo-6-6    1      5898     876180       1225      0.001       1215         10
mmcblk2    teo-6-6    2      5646     633846       2248      0.004       2199         49
mmcblk2    teo-6-12   0      5869    1009742          9      0.000          6          3
mmcblk2    teo-6-12   1      5644     775326          4      0.000          4          0
mmcblk2    teo-6-12   2      5671     904480          4      0.000          4          0
nvme0n1    teo-m      0     10342     765802        152      0.000         55         97
nvme0n1    teo-m      1     10703     789232        157      0.000         52        105
nvme0n1    teo-m      2     10405     770046         62      0.000         34         28
nvme0n1    teo-patch  0     10590     740088       1995      0.003       1848        147
nvme0n1    teo-patch  1     10472     733540       1686      0.002       1573        113
nvme0n1    teo-patch  2     10654     741262       1424      0.002       1329         95
nvme0n1    teo-6-6    0     11507     798450       1564      0.002       1505         59
nvme0n1    teo-6-6    1     10499     735294       2009      0.003       1879        130
nvme0n1    teo-6-6    2     10598     740936       1756      0.002       1477        279
nvme0n1    teo-6-12   0     10542     922846         18      0.000         12          6
nvme0n1    teo-6-12   1     10482     922114         23      0.000         16          7
nvme0n1    teo-6-12   2     11046     940398         23      0.000         17          6
sda        teo-m      0      1269     778958        111      0.000        108          3
sda        teo-m      1      1268     831064       1064      0.001       1054         10
sda        teo-m      2      1270     803714       2044      0.003       2034         10
sda        teo-patch  0      1206     763874      62173      0.081      62169          4
sda        teo-patch  1      1219     740656      58484      0.079      58477          7
sda        teo-patch  2      1172     728598      95154      0.131      95151          3
sda        teo-6-6    0      1257     591486       5450      0.009       5435         15
sda        teo-6-6    1      1265     788536       4412      0.006       4404          8
sda        teo-6-6    2      1254     788282       4470      0.006       4461          9
sda        teo-6-12   0      1274     841398          0      0.000       4461          9
sda        teo-6-12   1      1271     840824          0      0.000       4461          9
sda        teo-6-12   2      1272     923816          4      0.000          4          0
nullb0     teo-m      0    101284     114406        178      0.002         70        108
nullb0     teo-m      1    101381     112804        496      0.004        303        193
nullb0     teo-m      2    101716     100370        380      0.004        225        155
nullb0     teo-patch  0    100748      71690       1966      0.027       1853        113
nullb0     teo-patch  1    100858      75426       1716      0.023       1524        192
nullb0     teo-patch  2    101503      74320       1864      0.025       1851         13
nullb0     teo-6-6    0    101295      74346       2369      0.032       2139        230
nullb0     teo-6-6    1    101299      75350       1943      0.026       1803        140
nullb0     teo-6-6    2    100578      73924       2317      0.031       2089        228
nullb0     teo-6-12   0    100005     269180          7      0.000          4          3
nullb0     teo-6-12   1    100705     315302          0      0.000          4          3
nullb0     teo-6-12   2    100861     293350          6      0.000          3          3
mtdblock3  teo-m      0       262     312586         66      0.000         47         19
mtdblock3  teo-m      1       259     635682        100      0.000         97          3
mtdblock3  teo-m      2       258     771110        128      0.000         89         39
mtdblock3  teo-patch  0       244     435660      29414      0.068      29248        166
mtdblock3  teo-patch  1       236     449612      43754      0.097      43631        123
mtdblock3  teo-patch  2       238     814510      35946      0.044      35928         18
mtdblock3  teo-6-6    0       258     782434       1611      0.002       1572         39
mtdblock3  teo-6-6    1       259     591852       1658      0.003       1532        126
mtdblock3  teo-6-6    2       262     274192       1523      0.006       1432         91
mtdblock3  teo-6-12   0       256     986250         11      0.000         10          1
mtdblock3  teo-6-12   1       258     853982         11      0.000          9          2
mtdblock3  teo-6-12   2       260     654184          7      0.000          6          1

test       gov        i     score  %change    idles  idle_miss  miss_rt   belows   aboves
schbench   teo-m      0       196    0      26276         12      0.000         10          2
schbench   teo-m      1       195   -0      25668         23      0.001         19          4
schbench   teo-m      2       208    6      26180         24      0.001         21          3
schbench   teo-m      3       191   -2      25384          4      0.000          3          1
schbench   teo-m      4       194   -1      26060         31      0.001         21         10
schbench   teo-patch  0       195   -0      24678        253      0.010        239         14
schbench   teo-patch  1       192   -2      24100        228      0.009        221          7
schbench   teo-patch  2       192   -2      25154        310      0.012        281         29
schbench   teo-patch  3       194   -1      24426        253      0.010        236         17
schbench   teo-patch  4       193   -2      25008        277      0.011        262         15
schbench   teo-6-6    0       199    2      24676        128      0.005        121          7
schbench   teo-6-6    1       211    8      26794        127      0.005        117         10
schbench   teo-6-6    2       205    5      25026        140      0.006        125         15
schbench   teo-6-6    3       198    1      24816        196      0.008        174         22
schbench   teo-6-6    4       198    1      26604        236      0.009        218         18
schbench   teo-6-12   0       190   -3      24464          0      0.000        218         18
schbench   teo-6-12   1       190   -3      25274          0      0.000        218         18
schbench   teo-6-12   2       190   -3      25256          0      0.000        218         18
schbench   teo-6-12   3       199    2      26342          0      0.000        218         18
schbench   teo-6-12   4       188   -4      25508          0      0.000        218         18
ebizzy     teo-m      0     10733    0       1358          7      0.005          7          0
ebizzy     teo-m      1     10750    0       1206         12      0.010          8          4
ebizzy     teo-m      2     10699   -0       1950         24      0.012         23          1
ebizzy     teo-m      3     10773    0       1384         18      0.013         16          2
ebizzy     teo-m      4     10667   -1       2060         24      0.012         23          1
ebizzy     teo-patch  0     10728   -0       1474         49      0.033         45          4
ebizzy     teo-patch  1     10682   -0        962         26      0.027         26          0
ebizzy     teo-patch  2     10687   -0       1082         56      0.052         56          0
ebizzy     teo-patch  3     10736    0       1072         22      0.021         22          0
ebizzy     teo-patch  4     10674   -1       1156         53      0.046         50          3
ebizzy     teo-6-6    0     10659   -1       1442         58      0.040         46         12
ebizzy     teo-6-6    1     10653   -1       1144         43      0.038         41          2
ebizzy     teo-6-6    2     10696   -0       1256         37      0.029         35          2
ebizzy     teo-6-6    3     10710   -0       1168         43      0.037         38          5
ebizzy     teo-6-6    4     10696   -0       1166         47      0.040         43          4
ebizzy     teo-6-12   0     10709   -0       2186          0      0.000         43          4
ebizzy     teo-6-12   1     10687   -0       1688          0      0.000         43          4
ebizzy     teo-6-12   2     10689   -0       2806          0      0.000         43          4
ebizzy     teo-6-12   3     10734    0       1426          0      0.000         43          4
ebizzy     teo-6-12   4     10757    0       2346          0      0.000         43          4
adrestia   teo-m      0         8    0     103680         21      0.000         19          2
adrestia   teo-m      1        12   50     104026         31      0.000         16         15
adrestia   teo-m      2        12   50     104063         32      0.000         24          8
adrestia   teo-m      3        12   50     104768         44      0.000         22         22
adrestia   teo-m      4        12   50     104388         18      0.000         16          2
adrestia   teo-patch  0        12   50     103096         67      0.001         65          2
adrestia   teo-patch  1        12   50     103128         57      0.001         49          8
adrestia   teo-patch  2         8    0     102812         78      0.001         72          6
adrestia   teo-patch  3        12   50     102990         60      0.001         55          5
adrestia   teo-patch  4        12   50     103168         24      0.000         24          0
adrestia   teo-6-6    0        12   50     102832         61      0.001         51         10
adrestia   teo-6-6    1        12   50     103136         52      0.001         38         14
adrestia   teo-6-6    2        12   50     102882         37      0.000         29          8
adrestia   teo-6-6    3        12   50     103102         51      0.000         40         11
adrestia   teo-6-6    4        12   50     103260         60      0.001         43         17
adrestia   teo-6-12   0        12   50     112320          0      0.000         43         17
adrestia   teo-6-12   1        12   50     114412          0      0.000         43         17
adrestia   teo-6-12   2        11   38     112220          0      0.000         43         17
adrestia   teo-6-12   3        12   50     112028          0      0.000         43         17
adrestia   teo-6-12   4        12   50     112750          0      0.000         43         17

^ permalink raw reply	[flat|nested] 48+ messages in thread

* [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-13 15:43                                       ` Christian Loehle
@ 2025-11-13 16:56                                         ` Rafael J. Wysocki
  2025-11-14  4:05                                           ` Reka Norman
  2025-11-14 14:47                                           ` Christian Loehle
  2025-11-19 22:43                                         ` Regression in TEO cpuidle governor between 6.6 and 6.12 Doug Smythies
  1 sibling, 2 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-13 16:56 UTC (permalink / raw)
  To: Christian Loehle, Reka Norman; +Cc: daniel.lezcano, linux-pm

On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> On 11/12/25 18:33, Christian Loehle wrote:
> > On 11/12/25 14:16, Rafael J. Wysocki wrote:
> >> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> >> <christian.loehle@arm.com> wrote:
> >>>
> >>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> >>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> >>>> <christian.loehle@arm.com> wrote:
> >>>>>
> >>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>
> >>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> >>>>
> >>>> [...]
> >>>>
> >>>>>>>> I see two issues:
> >>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>>>
> >>>>>> This shouldn't be a problem.
> >>>>>
> >>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>>>> never been an issue.
> >>>>
> >>>> Well, I think that the leftovers can be cleared when they become less than 8.
> >>>>
> >>>>>>
> >>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>>>> have been a really good candidate actually).
> >>>>>>
> >>>>>> Well, it would exclude the state if the sum of hits for the states
> >>>>>> below it is large enough.  This is questionable (because why would
> >>>>>> hits matter here), but I attempted to make the change below and
> >>>>>> somebody reported a regression IIRC.
> >>>>>>
> >>>>>> This check is related to the problem at hand though (see below).
> >>>>>>
> >>>>>>>>
> >>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>>>
> >>>>>>>> -----8<-----
> >>>>>>>>
> >>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>>>          * better choice.
> >>>>>>>>          */
> >>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>>>                 int first_suitable_idx = idx;
> >>>>>>>>
> >>>>>>>>                 /*
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>>>> Maybe something like this, again lightly tested:
> >>>>>>>
> >>>>>>> -----8<-----
> >>>>>>>
> >>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>                  * has been stopped already into account.
> >>>>>>>                  */
> >>>>>>>                 intercept_sum = 0;
> >>>>>>> +               hit_sum = 0;
> >>>>>>>
> >>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>>>
> >>>>>>>                         intercept_sum += bin->intercepts;
> >>>>>>> +                       hit_sum += bin->hits;
> >>>>>>>
> >>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>>>                                 /*
> >>>>>>>                                  * Use the current state unless it is too
> >>>>>>>                                  * shallow or disabled, in which case take the
> >>>>>>
> >>>>>> This will only matter after the deepest state has been rejected
> >>>>>> already and on the system in question this means selecting state 0 no
> >>>>>> matter what.
> >>>>>>
> >>>>>
> >>>>> Ah, right!
> >>>>>
> >>>>>
> >>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>>>
> >>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>>>> deepest state (and it will contribute to the total sum in the check
> >>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>>>> enough and the deepest state will become the candidate one.  If
> >>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>>>> ensues.
> >>>>>
> >>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>>>> doesn't allow us to ever break out of the intercept logic that caused us
> >>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>>>> to ever break out and c) hits == sleep_length would've been accurate.
> >>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>>>> intercept logic.
> >>>>
> >>>> Not quite.  The intercept logic is there for wakeups other than tick
> >>>> wakeups and timer wakeups.
> >>>>
> >>>> I actually think that tick wakeups can be counted as hits on the
> >>>> deepest available state - maybe only when tick wakeups dominate the
> >>>> wakeup pattern - but generally this is not unreasonable: When the
> >>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> >>>> enough reason to stop the tick.
> >>>
> >>> (assuming HZ=1000 below but it doesn't matter)
> >>> That will exclude any 'intercept' logic from having much effect if the
> >>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> >>> off from state1 residency, like in Reka's case here.
> >>> That's why I thought it would cause unreasonable regressions here.
> >>> I'll give it a go as well though!
> >>
> >> Thanks!
> >>
> >> Note that I'd prefer to add a check if tick wakeups dominate the
> >> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> >> I'd first like to know how the Reka's system reacts to the more
> >> drastic variant of this change.
> > 
> > Below are my usual tests, it's definitely visible but the impact is limited
> > on this platform anyway. I think if we gate the KTIME_MAX setting behind
> > the "tick wakeup dominate" it should be acceptable!
> > Let's see what Reka reports.
> > 
> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> / low frequent wakeup scenario) the impact becomes clearly visible.
> Still hopeful that the more conservative approach will be acceptable!

Speaking of which, the patch to test is appended below, but it doesn't apply
directly on top of the mainline.  It is based on some other patches that have
been posted recently, so here's a git branch with all of the requisite
material:

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing

Reka, please try this one and let us know how it goes.

---
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Subject: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups

If the wakeup pattern is clearly dominated by tick wakeups, count those
wakeups as hits on the deepest available idle state to increase the
likelihood of stopping the tick, especially on systems where there are
only 2 usable idle states and the tick can only be stopped when the
deeper state is selected.

This change is expected to reduce power on some systems where state 0 is
selected relatively often even though they are almost idle.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/cpuidle/governors/teo.c |   39 ++++++++++++++++++++++++---------------
 1 file changed, 24 insertions(+), 15 deletions(-)

--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -133,17 +133,19 @@ struct teo_bin {
  * @sleep_length_ns: Time till the closest timer event (at the selection time).
  * @state_bins: Idle state data bins for this CPU.
  * @total: Grand total of the "intercepts" and "hits" metrics for all bins.
+ * @total_tick: Wakeups by the scheduler tick.
  * @tick_intercepts: "Intercepts" before TICK_NSEC.
  * @short_idles: Wakeups after short idle periods.
- * @artificial_wakeup: Set if the wakeup has been triggered by a safety net.
+ * @tick_wakeup: Set if the last wakeup was by the scheduler tick.
  */
 struct teo_cpu {
 	s64 sleep_length_ns;
 	struct teo_bin state_bins[CPUIDLE_STATE_MAX];
 	unsigned int total;
+	unsigned int total_tick;
 	unsigned int tick_intercepts;
 	unsigned int short_idles;
-	bool artificial_wakeup;
+	bool tick_wakeup;
 };
 
 static DEFINE_PER_CPU(struct teo_cpu, teo_cpus);
@@ -172,9 +174,10 @@ static void teo_update(struct cpuidle_dr
 
 	teo_decay(&cpu_data->short_idles);
 
-	if (cpu_data->artificial_wakeup) {
+	if (dev->poll_time_limit) {
+		dev->poll_time_limit = false;
 		/*
-		 * If one of the safety nets has triggered, assume that this
+		 * Polling state timeout has triggered, so assume that this
 		 * might have been a long sleep.
 		 */
 		measured_ns = S64_MAX;
@@ -223,6 +226,21 @@ static void teo_update(struct cpuidle_dr
 	cpu_data->total = total + PULSE;
 
 	teo_decay(&cpu_data->tick_intercepts);
+
+	teo_decay(&cpu_data->total_tick);
+	if (cpu_data->tick_wakeup) {
+		cpu_data->total_tick += PULSE;
+		/*
+		 * If tick wakeups dominate the wakeup pattern, count this one
+		 * as a hit on the deepest available idle state to increase the
+		 * likelihood of stopping the tick.
+		 */
+		if (3 * cpu_data->total_tick > 2 * cpu_data->total) {
+			cpu_data->state_bins[drv->state_count-1].hits += PULSE;
+			return;
+		}
+	}
+
 	/*
 	 * If the measured idle duration falls into the same bin as the sleep
 	 * length, this is a "hit", so update the "hits" metric for that bin.
@@ -512,18 +530,9 @@ static void teo_reflect(struct cpuidle_d
 {
 	struct teo_cpu *cpu_data = per_cpu_ptr(&teo_cpus, dev->cpu);
 
+	cpu_data->tick_wakeup = tick_nohz_idle_got_tick();
+
 	dev->last_state_idx = state;
-	if (dev->poll_time_limit ||
-	    (tick_nohz_idle_got_tick() && cpu_data->sleep_length_ns > TICK_NSEC)) {
-		/*
-		 * The wakeup was not "genuine", but triggered by one of the
-		 * safety nets.
-		 */
-		dev->poll_time_limit = false;
-		cpu_data->artificial_wakeup = true;
-	} else {
-		cpu_data->artificial_wakeup = false;
-	}
 }
 
 /**




^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-13 16:56                                         ` [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups Rafael J. Wysocki
@ 2025-11-14  4:05                                           ` Reka Norman
  2025-11-14  8:33                                             ` Christian Loehle
  2025-11-14  9:20                                             ` Christian Loehle
  2025-11-14 14:47                                           ` Christian Loehle
  1 sibling, 2 replies; 48+ messages in thread
From: Reka Norman @ 2025-11-14  4:05 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Christian Loehle, daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 8448 bytes --]

On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> > On 11/12/25 18:33, Christian Loehle wrote:
> > > On 11/12/25 14:16, Rafael J. Wysocki wrote:
> > >> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> > >> <christian.loehle@arm.com> wrote:
> > >>>
> > >>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> > >>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> > >>>> <christian.loehle@arm.com> wrote:
> > >>>>>
> > >>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> > >>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> > >>>>>> <christian.loehle@arm.com> wrote:
> > >>>>>>>
> > >>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> > >>>>
> > >>>> [...]
> > >>>>
> > >>>>>>>> I see two issues:
> > >>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> > >>>>>>
> > >>>>>> This shouldn't be a problem.
> > >>>>>
> > >>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> > >>>>> never been an issue.
> > >>>>
> > >>>> Well, I think that the leftovers can be cleared when they become less than 8.
> > >>>>
> > >>>>>>
> > >>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> > >>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> > >>>>>>>> have been a really good candidate actually).
> > >>>>>>
> > >>>>>> Well, it would exclude the state if the sum of hits for the states
> > >>>>>> below it is large enough.  This is questionable (because why would
> > >>>>>> hits matter here), but I attempted to make the change below and
> > >>>>>> somebody reported a regression IIRC.
> > >>>>>>
> > >>>>>> This check is related to the problem at hand though (see below).
> > >>>>>>
> > >>>>>>>>
> > >>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> > >>>>>>>> (the documentation/comments would need adapting too, of course)
> > >>>>>>>>
> > >>>>>>>> -----8<-----
> > >>>>>>>>
> > >>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > >>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> > >>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> > >>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> > >>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> > >>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> > >>>>>>>>          * better choice.
> > >>>>>>>>          */
> > >>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> > >>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> > >>>>>>>>                 int first_suitable_idx = idx;
> > >>>>>>>>
> > >>>>>>>>                 /*
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> > >>>>>>> Maybe something like this, again lightly tested:
> > >>>>>>>
> > >>>>>>> -----8<-----
> > >>>>>>>
> > >>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > >>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> > >>>>>>> --- a/drivers/cpuidle/governors/teo.c
> > >>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> > >>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> > >>>>>>>                  * has been stopped already into account.
> > >>>>>>>                  */
> > >>>>>>>                 intercept_sum = 0;
> > >>>>>>> +               hit_sum = 0;
> > >>>>>>>
> > >>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> > >>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> > >>>>>>>
> > >>>>>>>                         intercept_sum += bin->intercepts;
> > >>>>>>> +                       hit_sum += bin->hits;
> > >>>>>>>
> > >>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> > >>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> > >>>>>>>                                 /*
> > >>>>>>>                                  * Use the current state unless it is too
> > >>>>>>>                                  * shallow or disabled, in which case take the
> > >>>>>>
> > >>>>>> This will only matter after the deepest state has been rejected
> > >>>>>> already and on the system in question this means selecting state 0 no
> > >>>>>> matter what.
> > >>>>>>
> > >>>>>
> > >>>>> Ah, right!
> > >>>>>
> > >>>>>
> > >>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> > >>>>>>
> > >>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> > >>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> > >>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> > >>>>>> deepest state (and it will contribute to the total sum in the check
> > >>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> > >>>>>> enough and the deepest state will become the candidate one.  If
> > >>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> > >>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> > >>>>>> ensues.
> > >>>>>
> > >>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> > >>>>> doesn't allow us to ever break out of the intercept logic that caused us
> > >>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> > >>>>> to ever break out and c) hits == sleep_length would've been accurate.
> > >>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> > >>>>> intercept logic.
> > >>>>
> > >>>> Not quite.  The intercept logic is there for wakeups other than tick
> > >>>> wakeups and timer wakeups.
> > >>>>
> > >>>> I actually think that tick wakeups can be counted as hits on the
> > >>>> deepest available state - maybe only when tick wakeups dominate the
> > >>>> wakeup pattern - but generally this is not unreasonable: When the
> > >>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> > >>>> enough reason to stop the tick.
> > >>>
> > >>> (assuming HZ=1000 below but it doesn't matter)
> > >>> That will exclude any 'intercept' logic from having much effect if the
> > >>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> > >>> off from state1 residency, like in Reka's case here.
> > >>> That's why I thought it would cause unreasonable regressions here.
> > >>> I'll give it a go as well though!
> > >>
> > >> Thanks!
> > >>
> > >> Note that I'd prefer to add a check if tick wakeups dominate the
> > >> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> > >> I'd first like to know how the Reka's system reacts to the more
> > >> drastic variant of this change.
> > >
> > > Below are my usual tests, it's definitely visible but the impact is limited
> > > on this platform anyway. I think if we gate the KTIME_MAX setting behind
> > > the "tick wakeup dominate" it should be acceptable!
> > > Let's see what Reka reports.
> > >
> > Forgot to post the full results, anyway as expected with mtdblock (a very slow
> > / low frequent wakeup scenario) the impact becomes clearly visible.
> > Still hopeful that the more conservative approach will be acceptable!
>
> Speaking of which, the patch to test is appended below, but it doesn't apply
> directly on top of the mainline.  It is based on some other patches that have
> been posted recently, so here's a git branch with all of the requisite
> material:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
>
> Reka, please try this one and let us know how it goes.

Results attached. The residencies are a bit less deep than before -
about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
I’m guessing that’s expected.

I also measured the power on a slightly different system where I first
noticed this regression, and it’s indistinguishable from 6.6. So from
my side this looks great, thank you!

[-- Attachment #2: sysfs_mainline_tick_wakeups2_before.txt --]
[-- Type: text/plain, Size: 25031 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:94969300
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:219385
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:5583
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:16110
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:172
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:364855825
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:21914
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:8043
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1855035
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:583391339
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:32260
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:50505309
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:124278
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:240
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:183
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:18
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:11303508
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:426
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:5664
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2512857
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:983932726
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:19348
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:45934866
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:112828
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:137
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:97
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:6
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:8457859
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:234
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:4992
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2367593
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:991774896
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:15203
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:34511593
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:79854
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:75
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:76
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:20
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:6943930
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:151
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:3576
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2401590
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:1005273805
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:10684
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:28538133
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:91315
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:70
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:12
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:7
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:1296982
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:83
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:2461
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3380104
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:1019526691
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:6045
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:28456006
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:93117
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:82
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:18
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:27
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:401675
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:101
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:2672
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3284020
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:1021554932
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:6108
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:29405277
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:93472
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:83
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:22
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:25
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1675034
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:105
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:2666
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3204667
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:1019501515
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:6938
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:29185886
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:88003
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:76
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:30
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:27
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:1561098
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:107
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:3808
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:3007434
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:1017590774
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:15575
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #3: trace_mainline_tick_wakeups2.dat --]
[-- Type: application/octet-stream, Size: 1234964 bytes --]

[-- Attachment #4: sysfs_mainline_tick_wakeups2_after.txt --]
[-- Type: text/plain, Size: 25037 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:98403664
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:225994
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:5642
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:16481
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:175
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:375084790
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:22344
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:8355
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:1855068
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:601346083
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:33330
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:52516679
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:128243
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:250
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:190
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:22
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:11676892
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:444
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:6015
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2512862
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:1013234973
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:20098
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:47347736
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:116203
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:157
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:101
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:11
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:8659658
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:258
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:5150
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:2367598
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:1022047821
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:15610
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:36077130
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:82534
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:82
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:82
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:24
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:7261343
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:164
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:3756
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:2401598
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:1035242962
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:11162
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:29426001
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:93795
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:82
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:13
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:7
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:1363623
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:96
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:2548
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:3380106
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:1050347951
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:6246
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:29309648
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:95508
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:100
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:19
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:32
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:434723
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:120
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:2763
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:3284025
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:1052474426
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:6310
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:30257268
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:95879
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:101
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:23
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:30
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:1764138
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:124
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:2745
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:3204676
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:1050377013
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:7140
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:30143739
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:90540
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:94
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:33
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:32
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:1724734
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:128
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:3936
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:3007443
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:1048509059
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:16076
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14  4:05                                           ` Reka Norman
@ 2025-11-14  8:33                                             ` Christian Loehle
  2025-11-14 14:15                                               ` Rafael J. Wysocki
  2025-11-17  5:14                                               ` Reka Norman
  2025-11-14  9:20                                             ` Christian Loehle
  1 sibling, 2 replies; 48+ messages in thread
From: Christian Loehle @ 2025-11-14  8:33 UTC (permalink / raw)
  To: Reka Norman, Rafael J. Wysocki; +Cc: daniel.lezcano, linux-pm

On 11/14/25 04:05, Reka Norman wrote:
> On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>
>> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
>>> On 11/12/25 18:33, Christian Loehle wrote:
>>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
>>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
>>>>> <christian.loehle@arm.com> wrote:
>>>>>>
>>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
>>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>
>>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>
>>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>>>>>
>>>>>>> [...]
>>>>>>>
>>>>>>>>>>> I see two issues:
>>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>>>>>>
>>>>>>>>> This shouldn't be a problem.
>>>>>>>>
>>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>>>>>>> never been an issue.
>>>>>>>
>>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
>>>>>>>
>>>>>>>>>
>>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>>>>>>> have been a really good candidate actually).
>>>>>>>>>
>>>>>>>>> Well, it would exclude the state if the sum of hits for the states
>>>>>>>>> below it is large enough.  This is questionable (because why would
>>>>>>>>> hits matter here), but I attempted to make the change below and
>>>>>>>>> somebody reported a regression IIRC.
>>>>>>>>>
>>>>>>>>> This check is related to the problem at hand though (see below).
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>>>>>>
>>>>>>>>>>> -----8<-----
>>>>>>>>>>>
>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>>>>>>          * better choice.
>>>>>>>>>>>          */
>>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>>>>>>                 int first_suitable_idx = idx;
>>>>>>>>>>>
>>>>>>>>>>>                 /*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>>>>>>> Maybe something like this, again lightly tested:
>>>>>>>>>>
>>>>>>>>>> -----8<-----
>>>>>>>>>>
>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>                  * has been stopped already into account.
>>>>>>>>>>                  */
>>>>>>>>>>                 intercept_sum = 0;
>>>>>>>>>> +               hit_sum = 0;
>>>>>>>>>>
>>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>>>>>>
>>>>>>>>>>                         intercept_sum += bin->intercepts;
>>>>>>>>>> +                       hit_sum += bin->hits;
>>>>>>>>>>
>>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>>>>>>                                 /*
>>>>>>>>>>                                  * Use the current state unless it is too
>>>>>>>>>>                                  * shallow or disabled, in which case take the
>>>>>>>>>
>>>>>>>>> This will only matter after the deepest state has been rejected
>>>>>>>>> already and on the system in question this means selecting state 0 no
>>>>>>>>> matter what.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Ah, right!
>>>>>>>>
>>>>>>>>
>>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>>>>>>
>>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>>>>>>> deepest state (and it will contribute to the total sum in the check
>>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>>>>>>> enough and the deepest state will become the candidate one.  If
>>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>>>>>>> ensues.
>>>>>>>>
>>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
>>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
>>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>>>>>>> intercept logic.
>>>>>>>
>>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
>>>>>>> wakeups and timer wakeups.
>>>>>>>
>>>>>>> I actually think that tick wakeups can be counted as hits on the
>>>>>>> deepest available state - maybe only when tick wakeups dominate the
>>>>>>> wakeup pattern - but generally this is not unreasonable: When the
>>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
>>>>>>> enough reason to stop the tick.
>>>>>>
>>>>>> (assuming HZ=1000 below but it doesn't matter)
>>>>>> That will exclude any 'intercept' logic from having much effect if the
>>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
>>>>>> off from state1 residency, like in Reka's case here.
>>>>>> That's why I thought it would cause unreasonable regressions here.
>>>>>> I'll give it a go as well though!
>>>>>
>>>>> Thanks!
>>>>>
>>>>> Note that I'd prefer to add a check if tick wakeups dominate the
>>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
>>>>> I'd first like to know how the Reka's system reacts to the more
>>>>> drastic variant of this change.
>>>>
>>>> Below are my usual tests, it's definitely visible but the impact is limited
>>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
>>>> the "tick wakeup dominate" it should be acceptable!
>>>> Let's see what Reka reports.
>>>>
>>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
>>> / low frequent wakeup scenario) the impact becomes clearly visible.
>>> Still hopeful that the more conservative approach will be acceptable!
>>
>> Speaking of which, the patch to test is appended below, but it doesn't apply
>> directly on top of the mainline.  It is based on some other patches that have
>> been posted recently, so here's a git branch with all of the requisite
>> material:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
>>
>> Reka, please try this one and let us know how it goes.
> 
> Results attached. The residencies are a bit less deep than before -
> about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> I’m guessing that’s expected.
> 
> I also measured the power on a slightly different system where I first
> noticed this regression, and it’s indistinguishable from 6.6. So from
> my side this looks great, thank you!

Good news!
For completeness:

Per-Cluster deltas: BIG

+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| BIG     |     0 | WFI          | 957,853    |   2.99% | 2,537  | 0      |   0.00% | 0      |   0.00% |
| BIG     |     1 | cpuoff-b     | 163,636    |   0.51% | 21     | 18     |  85.71% | 3      |  14.29% |
| BIG     |     2 | clusteroff-b | 30,918,285 |  96.50% | 501    | 128    |  25.55% | 0      |   0.00% |
| BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| BIG     | TOTAL |              | 32,039,774 | 100.00% | 3,059  | 146    |   4.77% | 3      |   0.10% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: LITTLE

+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+=============+=========+========+========+=========+========+=========+
| LITTLE  |     0 | WFI          | 8,424,141   |   6.63% | 16,629 | 0      |   0.00% | 0      |   0.00% |
| LITTLE  |     1 | cpuoff-l     | 11,121,561  |   8.75% | 485    | 96     |  19.79% | 388    |  80.00% |
| LITTLE  |     2 | clusteroff-l | 107,499,073 |  84.62% | 2,705  | 1,001  |  37.01% | 0      |   0.00% |
| LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| LITTLE  | TOTAL |              | 127,044,775 | 100.00% | 19,819 | 1,097  |   5.54% | 388    |   1.96% |
+---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+

Per-Cluster deltas: MID

+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
| cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
+=========+=======+==============+============+=========+========+========+=========+========+=========+
| MID     |     0 | WFI          | 2,593,501  |   2.72% | 7,278  | 0      |   0.00% | 0      |   0.00% |
| MID     |     1 | cpuoff-m     | 188,793    |   0.20% | 51     | 48     |  94.12% | 3      |   5.88% |
| MID     |     2 | clusteroff-m | 92,616,252 |  97.08% | 605    | 257    |  42.48% | 0      |   0.00% |
| MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
| MID     | TOTAL |              | 95,398,546 | 100.00% | 7,934  | 305    |   3.84% | 3      |   0.04% |
+---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+

Out of curiosity:
Do you know if the platform respects cpuoff / clusteroff distinction
properly? Is the power difference measurable?
There really is no reason for cpuidle to not autopromote them, if there's no latency
requirement that would prevent that.
Especially for the big cluster (just one CPU).

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14  4:05                                           ` Reka Norman
  2025-11-14  8:33                                             ` Christian Loehle
@ 2025-11-14  9:20                                             ` Christian Loehle
  2025-11-17  5:41                                               ` Reka Norman
  1 sibling, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-14  9:20 UTC (permalink / raw)
  To: Reka Norman, Rafael J. Wysocki; +Cc: daniel.lezcano, linux-pm

On 11/14/25 04:05, Reka Norman wrote:
> On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>
>> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
>>> On 11/12/25 18:33, Christian Loehle wrote:
>>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
>>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
>>>>> <christian.loehle@arm.com> wrote:
>>>>>>
>>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
>>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>
>>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>
>>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>>>>>
>>>>>>> [...]
>>>>>>>
>>>>>>>>>>> I see two issues:
>>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>>>>>>
>>>>>>>>> This shouldn't be a problem.
>>>>>>>>
>>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>>>>>>> never been an issue.
>>>>>>>
>>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
>>>>>>>
>>>>>>>>>
>>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>>>>>>> have been a really good candidate actually).
>>>>>>>>>
>>>>>>>>> Well, it would exclude the state if the sum of hits for the states
>>>>>>>>> below it is large enough.  This is questionable (because why would
>>>>>>>>> hits matter here), but I attempted to make the change below and
>>>>>>>>> somebody reported a regression IIRC.
>>>>>>>>>
>>>>>>>>> This check is related to the problem at hand though (see below).
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>>>>>>
>>>>>>>>>>> -----8<-----
>>>>>>>>>>>
>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>>>>>>          * better choice.
>>>>>>>>>>>          */
>>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>>>>>>                 int first_suitable_idx = idx;
>>>>>>>>>>>
>>>>>>>>>>>                 /*
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>>>>>>> Maybe something like this, again lightly tested:
>>>>>>>>>>
>>>>>>>>>> -----8<-----
>>>>>>>>>>
>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>                  * has been stopped already into account.
>>>>>>>>>>                  */
>>>>>>>>>>                 intercept_sum = 0;
>>>>>>>>>> +               hit_sum = 0;
>>>>>>>>>>
>>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>>>>>>
>>>>>>>>>>                         intercept_sum += bin->intercepts;
>>>>>>>>>> +                       hit_sum += bin->hits;
>>>>>>>>>>
>>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>>>>>>                                 /*
>>>>>>>>>>                                  * Use the current state unless it is too
>>>>>>>>>>                                  * shallow or disabled, in which case take the
>>>>>>>>>
>>>>>>>>> This will only matter after the deepest state has been rejected
>>>>>>>>> already and on the system in question this means selecting state 0 no
>>>>>>>>> matter what.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Ah, right!
>>>>>>>>
>>>>>>>>
>>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>>>>>>
>>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>>>>>>> deepest state (and it will contribute to the total sum in the check
>>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>>>>>>> enough and the deepest state will become the candidate one.  If
>>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>>>>>>> ensues.
>>>>>>>>
>>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
>>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
>>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>>>>>>> intercept logic.
>>>>>>>
>>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
>>>>>>> wakeups and timer wakeups.
>>>>>>>
>>>>>>> I actually think that tick wakeups can be counted as hits on the
>>>>>>> deepest available state - maybe only when tick wakeups dominate the
>>>>>>> wakeup pattern - but generally this is not unreasonable: When the
>>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
>>>>>>> enough reason to stop the tick.
>>>>>>
>>>>>> (assuming HZ=1000 below but it doesn't matter)
>>>>>> That will exclude any 'intercept' logic from having much effect if the
>>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
>>>>>> off from state1 residency, like in Reka's case here.
>>>>>> That's why I thought it would cause unreasonable regressions here.
>>>>>> I'll give it a go as well though!
>>>>>
>>>>> Thanks!
>>>>>
>>>>> Note that I'd prefer to add a check if tick wakeups dominate the
>>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
>>>>> I'd first like to know how the Reka's system reacts to the more
>>>>> drastic variant of this change.
>>>>
>>>> Below are my usual tests, it's definitely visible but the impact is limited
>>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
>>>> the "tick wakeup dominate" it should be acceptable!
>>>> Let's see what Reka reports.
>>>>
>>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
>>> / low frequent wakeup scenario) the impact becomes clearly visible.
>>> Still hopeful that the more conservative approach will be acceptable!
>>
>> Speaking of which, the patch to test is appended below, but it doesn't apply
>> directly on top of the mainline.  It is based on some other patches that have
>> been posted recently, so here's a git branch with all of the requisite
>> material:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
>>
>> Reka, please try this one and let us know how it goes.
> 
> Results attached. The residencies are a bit less deep than before -
> about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> I’m guessing that’s expected.
> 
> I also measured the power on a slightly different system where I first
> noticed this regression, and it’s indistinguishable from 6.6. So from
> my side this looks great, thank you!

Could you share details on the other platform?
I wasn't able to reproduce your exact behaviour on my systems, so I'd
still like to close my testing gap here!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14  8:33                                             ` Christian Loehle
@ 2025-11-14 14:15                                               ` Rafael J. Wysocki
  2025-11-14 14:49                                                 ` Christian Loehle
  2025-11-17  5:44                                                 ` Reka Norman
  2025-11-17  5:14                                               ` Reka Norman
  1 sibling, 2 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-14 14:15 UTC (permalink / raw)
  To: Christian Loehle, Reka Norman; +Cc: daniel.lezcano, linux-pm

On Fri, Nov 14, 2025 at 9:33 AM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/14/25 04:05, Reka Norman wrote:
> > On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>
> >> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> >>> On 11/12/25 18:33, Christian Loehle wrote:
> >>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
> >>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> >>>>> <christian.loehle@arm.com> wrote:
> >>>>>>
> >>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> >>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> >>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>
> >>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> >>>>>>>
> >>>>>>> [...]
> >>>>>>>
> >>>>>>>>>>> I see two issues:
> >>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>>>>>>
> >>>>>>>>> This shouldn't be a problem.
> >>>>>>>>
> >>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>>>>>>> never been an issue.
> >>>>>>>
> >>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
> >>>>>>>
> >>>>>>>>>
> >>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>>>>>>> have been a really good candidate actually).
> >>>>>>>>>
> >>>>>>>>> Well, it would exclude the state if the sum of hits for the states
> >>>>>>>>> below it is large enough.  This is questionable (because why would
> >>>>>>>>> hits matter here), but I attempted to make the change below and
> >>>>>>>>> somebody reported a regression IIRC.
> >>>>>>>>>
> >>>>>>>>> This check is related to the problem at hand though (see below).
> >>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>>>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>>>>>>
> >>>>>>>>>>> -----8<-----
> >>>>>>>>>>>
> >>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>>>>>>          * better choice.
> >>>>>>>>>>>          */
> >>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>>>>>>                 int first_suitable_idx = idx;
> >>>>>>>>>>>
> >>>>>>>>>>>                 /*
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>>>>>>> Maybe something like this, again lightly tested:
> >>>>>>>>>>
> >>>>>>>>>> -----8<-----
> >>>>>>>>>>
> >>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>                  * has been stopped already into account.
> >>>>>>>>>>                  */
> >>>>>>>>>>                 intercept_sum = 0;
> >>>>>>>>>> +               hit_sum = 0;
> >>>>>>>>>>
> >>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>>>>>>
> >>>>>>>>>>                         intercept_sum += bin->intercepts;
> >>>>>>>>>> +                       hit_sum += bin->hits;
> >>>>>>>>>>
> >>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>>>>>>                                 /*
> >>>>>>>>>>                                  * Use the current state unless it is too
> >>>>>>>>>>                                  * shallow or disabled, in which case take the
> >>>>>>>>>
> >>>>>>>>> This will only matter after the deepest state has been rejected
> >>>>>>>>> already and on the system in question this means selecting state 0 no
> >>>>>>>>> matter what.
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> Ah, right!
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>>>>>>
> >>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>>>>>>> deepest state (and it will contribute to the total sum in the check
> >>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>>>>>>> enough and the deepest state will become the candidate one.  If
> >>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>>>>>>> ensues.
> >>>>>>>>
> >>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
> >>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
> >>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>>>>>>> intercept logic.
> >>>>>>>
> >>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
> >>>>>>> wakeups and timer wakeups.
> >>>>>>>
> >>>>>>> I actually think that tick wakeups can be counted as hits on the
> >>>>>>> deepest available state - maybe only when tick wakeups dominate the
> >>>>>>> wakeup pattern - but generally this is not unreasonable: When the
> >>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> >>>>>>> enough reason to stop the tick.
> >>>>>>
> >>>>>> (assuming HZ=1000 below but it doesn't matter)
> >>>>>> That will exclude any 'intercept' logic from having much effect if the
> >>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> >>>>>> off from state1 residency, like in Reka's case here.
> >>>>>> That's why I thought it would cause unreasonable regressions here.
> >>>>>> I'll give it a go as well though!
> >>>>>
> >>>>> Thanks!
> >>>>>
> >>>>> Note that I'd prefer to add a check if tick wakeups dominate the
> >>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> >>>>> I'd first like to know how the Reka's system reacts to the more
> >>>>> drastic variant of this change.
> >>>>
> >>>> Below are my usual tests, it's definitely visible but the impact is limited
> >>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> >>>> the "tick wakeup dominate" it should be acceptable!
> >>>> Let's see what Reka reports.
> >>>>
> >>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> >>> / low frequent wakeup scenario) the impact becomes clearly visible.
> >>> Still hopeful that the more conservative approach will be acceptable!
> >>
> >> Speaking of which, the patch to test is appended below, but it doesn't apply
> >> directly on top of the mainline.  It is based on some other patches that have
> >> been posted recently, so here's a git branch with all of the requisite
> >> material:
> >>
> >> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> >>
> >> Reka, please try this one and let us know how it goes.
> >
> > Results attached. The residencies are a bit less deep than before -
> > about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> > I’m guessing that’s expected.
> >
> > I also measured the power on a slightly different system where I first
> > noticed this regression, and it’s indistinguishable from 6.6. So from
> > my side this looks great, thank you!
>
> Good news!

So I'm going to queue this up for 6.19 along with the material it depends on.

I'd rather not rush it into 6.18-rc7 because it would not get
meaningful exposure in linux-next before appearing in the mainline in
that case.

Reka, I'm going to add your Tested-by: to it, please let me know if
there are any concerns regarding that.

Now, I think that it needs to go into -stable (6.12+ I suppose?) and
I'm going to instruct -stable to pick up the dependencies along with
it.

Thanks!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-13 16:56                                         ` [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups Rafael J. Wysocki
  2025-11-14  4:05                                           ` Reka Norman
@ 2025-11-14 14:47                                           ` Christian Loehle
  2025-11-14 15:12                                             ` Rafael J. Wysocki
  1 sibling, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-14 14:47 UTC (permalink / raw)
  To: Rafael J. Wysocki, Reka Norman; +Cc: daniel.lezcano, linux-pm

On 11/13/25 16:56, Rafael J. Wysocki wrote:
> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
>> On 11/12/25 18:33, Christian Loehle wrote:
>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
>>>> <christian.loehle@arm.com> wrote:
>>>>>
>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>
>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>
>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>>>>>> I see two issues:
>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>>>>>
>>>>>>>> This shouldn't be a problem.
>>>>>>>
>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>>>>>> never been an issue.
>>>>>>
>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
>>>>>>
>>>>>>>>
>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>>>>>> have been a really good candidate actually).
>>>>>>>>
>>>>>>>> Well, it would exclude the state if the sum of hits for the states
>>>>>>>> below it is large enough.  This is questionable (because why would
>>>>>>>> hits matter here), but I attempted to make the change below and
>>>>>>>> somebody reported a regression IIRC.
>>>>>>>>
>>>>>>>> This check is related to the problem at hand though (see below).
>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>>>>>
>>>>>>>>>> -----8<-----
>>>>>>>>>>
>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>>>>>          * better choice.
>>>>>>>>>>          */
>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>>>>>                 int first_suitable_idx = idx;
>>>>>>>>>>
>>>>>>>>>>                 /*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>>>>>> Maybe something like this, again lightly tested:
>>>>>>>>>
>>>>>>>>> -----8<-----
>>>>>>>>>
>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>                  * has been stopped already into account.
>>>>>>>>>                  */
>>>>>>>>>                 intercept_sum = 0;
>>>>>>>>> +               hit_sum = 0;
>>>>>>>>>
>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>>>>>
>>>>>>>>>                         intercept_sum += bin->intercepts;
>>>>>>>>> +                       hit_sum += bin->hits;
>>>>>>>>>
>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>>>>>                                 /*
>>>>>>>>>                                  * Use the current state unless it is too
>>>>>>>>>                                  * shallow or disabled, in which case take the
>>>>>>>>
>>>>>>>> This will only matter after the deepest state has been rejected
>>>>>>>> already and on the system in question this means selecting state 0 no
>>>>>>>> matter what.
>>>>>>>>
>>>>>>>
>>>>>>> Ah, right!
>>>>>>>
>>>>>>>
>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>>>>>
>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>>>>>> deepest state (and it will contribute to the total sum in the check
>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>>>>>> enough and the deepest state will become the candidate one.  If
>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>>>>>> ensues.
>>>>>>>
>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>>>>>> intercept logic.
>>>>>>
>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
>>>>>> wakeups and timer wakeups.
>>>>>>
>>>>>> I actually think that tick wakeups can be counted as hits on the
>>>>>> deepest available state - maybe only when tick wakeups dominate the
>>>>>> wakeup pattern - but generally this is not unreasonable: When the
>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
>>>>>> enough reason to stop the tick.
>>>>>
>>>>> (assuming HZ=1000 below but it doesn't matter)
>>>>> That will exclude any 'intercept' logic from having much effect if the
>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
>>>>> off from state1 residency, like in Reka's case here.
>>>>> That's why I thought it would cause unreasonable regressions here.
>>>>> I'll give it a go as well though!
>>>>
>>>> Thanks!
>>>>
>>>> Note that I'd prefer to add a check if tick wakeups dominate the
>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
>>>> I'd first like to know how the Reka's system reacts to the more
>>>> drastic variant of this change.
>>>
>>> Below are my usual tests, it's definitely visible but the impact is limited
>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
>>> the "tick wakeup dominate" it should be acceptable!
>>> Let's see what Reka reports.
>>>
>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
>> / low frequent wakeup scenario) the impact becomes clearly visible.
>> Still hopeful that the more conservative approach will be acceptable!
> 
> Speaking of which, the patch to test is appended below, but it doesn't apply
> directly on top of the mainline.  It is based on some other patches that have
> been posted recently, so here's a git branch with all of the requisite
> material:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> 
> Reka, please try this one and let us know how it goes.
> 
> ---
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> Subject: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
> 
> If the wakeup pattern is clearly dominated by tick wakeups, count those
> wakeups as hits on the deepest available idle state to increase the
> likelihood of stopping the tick, especially on systems where there are
> only 2 usable idle states and the tick can only be stopped when the
> deeper state is selected.

Maybe a sentence on the consequence that without this we may be ever-stuck in
the intercept logic.

> 
> This change is expected to reduce power on some systems where state 0 is
> selected relatively often even though they are almost idle.
> 

Should be a fixes tag, but I think it's a lot earlier than just
4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")

> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>  drivers/cpuidle/governors/teo.c |   39 ++++++++++++++++++++++++---------------
>  1 file changed, 24 insertions(+), 15 deletions(-)
> 
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -133,17 +133,19 @@ struct teo_bin {
>   * @sleep_length_ns: Time till the closest timer event (at the selection time).
>   * @state_bins: Idle state data bins for this CPU.
>   * @total: Grand total of the "intercepts" and "hits" metrics for all bins.
> + * @total_tick: Wakeups by the scheduler tick.
>   * @tick_intercepts: "Intercepts" before TICK_NSEC.
>   * @short_idles: Wakeups after short idle periods.
> - * @artificial_wakeup: Set if the wakeup has been triggered by a safety net.
> + * @tick_wakeup: Set if the last wakeup was by the scheduler tick.
>   */
>  struct teo_cpu {
>  	s64 sleep_length_ns;
>  	struct teo_bin state_bins[CPUIDLE_STATE_MAX];
>  	unsigned int total;
> +	unsigned int total_tick;
>  	unsigned int tick_intercepts;
>  	unsigned int short_idles;
> -	bool artificial_wakeup;
> +	bool tick_wakeup;
>  };
>  
>  static DEFINE_PER_CPU(struct teo_cpu, teo_cpus);
> @@ -172,9 +174,10 @@ static void teo_update(struct cpuidle_dr
>  
>  	teo_decay(&cpu_data->short_idles);
>  
> -	if (cpu_data->artificial_wakeup) {
> +	if (dev->poll_time_limit) {
> +		dev->poll_time_limit = false;
>  		/*
> -		 * If one of the safety nets has triggered, assume that this
> +		 * Polling state timeout has triggered, so assume that this
>  		 * might have been a long sleep.
>  		 */
>  		measured_ns = S64_MAX;
> @@ -223,6 +226,21 @@ static void teo_update(struct cpuidle_dr
>  	cpu_data->total = total + PULSE;
>  
>  	teo_decay(&cpu_data->tick_intercepts);
> +
> +	teo_decay(&cpu_data->total_tick);
> +	if (cpu_data->tick_wakeup) {
> +		cpu_data->total_tick += PULSE;
> +		/*
> +		 * If tick wakeups dominate the wakeup pattern, count this one
> +		 * as a hit on the deepest available idle state to increase the
> +		 * likelihood of stopping the tick.
> +		 */
> +		if (3 * cpu_data->total_tick > 2 * cpu_data->total) {
> +			cpu_data->state_bins[drv->state_count-1].hits += PULSE;
> +			return;
> +		}
> +	}
> +

What if this state happens to be disabled?
If we're walking through the states anyway to find the deepest non-disabled one,
I think the first non-disabled above TICK_NSEC might be an even better choice?

>  	/*
>  	 * If the measured idle duration falls into the same bin as the sleep
>  	 * length, this is a "hit", so update the "hits" metric for that bin.
> @@ -512,18 +530,9 @@ static void teo_reflect(struct cpuidle_d
>  {
>  	struct teo_cpu *cpu_data = per_cpu_ptr(&teo_cpus, dev->cpu);
>  
> +	cpu_data->tick_wakeup = tick_nohz_idle_got_tick();
> +
>  	dev->last_state_idx = state;
> -	if (dev->poll_time_limit ||
> -	    (tick_nohz_idle_got_tick() && cpu_data->sleep_length_ns > TICK_NSEC)) {
> -		/*
> -		 * The wakeup was not "genuine", but triggered by one of the
> -		 * safety nets.
> -		 */
> -		dev->poll_time_limit = false;
> -		cpu_data->artificial_wakeup = true;
> -	} else {
> -		cpu_data->artificial_wakeup = false;
> -	}
>  }

The result is definitely still visible, especially looking at the belows, but I'd say
this is in a reasonable range.
Tested-by: Christian Loehle <christian.loehle@arm.com>

device     gov        iter     iops      idles  idle_miss      ratio     belows     aboves
mmcblk1    teo-m      0      2354     648224        134      0.000        107         27
mmcblk1    teo-m      1      2334     644228         65      0.000         45         20
mmcblk1    teo-m      2      2331     640746         45      0.000         40          5
mmcblk1    teo-tickw  0      2352     596914        676      0.001        669          7
mmcblk1    teo-tickw  1      2331     617500       1553      0.003       1540         13
mmcblk1    teo-tickw  2      2330     613358       1733      0.003       1683         50
mmcblk2    teo-m      0      5702     854292        348      0.000        322         26
mmcblk2    teo-m      1      5657     640504        133      0.000         72         61
mmcblk2    teo-m      2      5651     704356        772      0.001        687         85
mmcblk2    teo-tickw  0      5704     871038       1744      0.002       1712         32
mmcblk2    teo-tickw  1      5617     476288       1791      0.004       1744         47
mmcblk2    teo-tickw  2      5640     632406       3225      0.005       3216          9
nvme0n1    teo-m      0     11446     832564         89      0.000         51         38
nvme0n1    teo-m      1     10568     780452        149      0.000         72         77
nvme0n1    teo-m      2     10505     777496        148      0.000         75         73
nvme0n1    teo-tickw  0     10614     756866       1531      0.002       1482         49
nvme0n1    teo-tickw  1     10583     750434       1427      0.002       1334         93
nvme0n1    teo-tickw  2     11229     796942       1658      0.002       1586         72
sda        teo-m      0      1271     869172        318      0.000        315          3
sda        teo-m      1      1271     798090       1209      0.002       1037        172
sda        teo-m      2      1270     807612         45      0.000         34         11
sda        teo-tickw  0      1269     786656        163      0.000        136         27
sda        teo-tickw  1      1270     779824       1515      0.002       1499         16
sda        teo-tickw  2      1271     600052       1610      0.003       1572         38
nullb0     teo-m      0    103325     105674        156      0.001         96         60
nullb0     teo-m      1    103421     111596         32      0.000         26          6
nullb0     teo-m      2    102145     112404        493      0.004        309        184
nullb0     teo-tickw  0    102055      77872       1672      0.021       1620         52
nullb0     teo-tickw  1    103397      77576       1636      0.021       1599         37
nullb0     teo-tickw  2    103637      87288       1733      0.020       1596        137
mtdblock3  teo-m      0       258     748824       1613      0.002       1600         13
mtdblock3  teo-m      1       258     765398        447      0.001        431         16
mtdblock3  teo-m      2       255     917614       3061      0.003       3044         17
mtdblock3  teo-tickw  0       261     289448       2035      0.007       2031          4
mtdblock3  teo-tickw  1       257     830352       2020      0.002       1986         34
mtdblock3  teo-tickw  2       260     392622       2868      0.007       2854         14


test       gov        i     score  %change    idles  idle_miss  miss_rt   belows   aboves
schbench   teo-m      0       194    0      27068         54      0.002         48          6
schbench   teo-m      1       213   10      27380          6      0.000          5          1
schbench   teo-m      2       195    0      24892          2      0.000          2          0
schbench   teo-m      3       194   -0      25356         20      0.001         17          3
schbench   teo-m      4       195    0      24966          7      0.000          7          0
schbench   teo-tickw  0       195    0      24226         48      0.002         47          1
schbench   teo-tickw  1       192   -1      25324         42      0.002         39          3
schbench   teo-tickw  2       192   -1      25214         43      0.002         42          1
schbench   teo-tickw  3       198    2      24658         59      0.002         57          2
schbench   teo-tickw  4       192   -1      25293         48      0.002         45          3
ebizzy     teo-m      0     10686    0       1120         12      0.011         10          2
ebizzy     teo-m      1     10720    0       1282         14      0.011         14          0
ebizzy     teo-m      2     10691    0       1078         11      0.010         11          0
ebizzy     teo-m      3     10666   -0       1306         15      0.011         12          3
ebizzy     teo-m      4     10699    0       1328          9      0.007          8          1
ebizzy     teo-tickw  0     10684   -0        902         11      0.012         11          0
ebizzy     teo-tickw  1     10704    0       1032         20      0.019         20          0
ebizzy     teo-tickw  2     10684   -0        914         22      0.024         18          4
ebizzy     teo-tickw  3     10681   -0       1208         46      0.038         43          3
ebizzy     teo-tickw  4     10702    0       1014         20      0.020         19          1
adrestia   teo-m      0        12    0     103750         19      0.000         16          3
adrestia   teo-m      1        12    0     104082         20      0.000         19          1
adrestia   teo-m      2        12    0     103830         22      0.000         12         10
adrestia   teo-m      3        12    0     104088         26      0.000         18          8
adrestia   teo-m      4        12    0     103740         24      0.000         18          6
adrestia   teo-tickw  0        12    0     102792         17      0.000         17          0
adrestia   teo-tickw  1        12    0     103020         39      0.000         38          1
adrestia   teo-tickw  2        12    0     102870         28      0.000         27          1
adrestia   teo-tickw  3        12    0     102746         32      0.000         30          2
adrestia   teo-tickw  4        12    0     102926         34      0.000         23         11

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14 14:15                                               ` Rafael J. Wysocki
@ 2025-11-14 14:49                                                 ` Christian Loehle
  2025-11-14 15:13                                                   ` Rafael J. Wysocki
  2025-11-17  5:44                                                 ` Reka Norman
  1 sibling, 1 reply; 48+ messages in thread
From: Christian Loehle @ 2025-11-14 14:49 UTC (permalink / raw)
  To: Rafael J. Wysocki, Reka Norman; +Cc: daniel.lezcano, linux-pm

On 11/14/25 14:15, Rafael J. Wysocki wrote:
> On Fri, Nov 14, 2025 at 9:33 AM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/14/25 04:05, Reka Norman wrote:
>>> On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>>
>>>> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
>>>>> On 11/12/25 18:33, Christian Loehle wrote:
>>>>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
>>>>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>
>>>>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
>>>>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>
>>>>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>>>>>>>
>>>>>>>>> [...]
>>>>>>>>>
>>>>>>>>>>>>> I see two issues:
>>>>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>>>>>>>>
>>>>>>>>>>> This shouldn't be a problem.
>>>>>>>>>>
>>>>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>>>>>>>>> never been an issue.
>>>>>>>>>
>>>>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>>>>>>>>> have been a really good candidate actually).
>>>>>>>>>>>
>>>>>>>>>>> Well, it would exclude the state if the sum of hits for the states
>>>>>>>>>>> below it is large enough.  This is questionable (because why would
>>>>>>>>>>> hits matter here), but I attempted to make the change below and
>>>>>>>>>>> somebody reported a regression IIRC.
>>>>>>>>>>>
>>>>>>>>>>> This check is related to the problem at hand though (see below).
>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>>>>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>>>>>>>>
>>>>>>>>>>>>> -----8<-----
>>>>>>>>>>>>>
>>>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>>>>>>>>          * better choice.
>>>>>>>>>>>>>          */
>>>>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>>>>>>>>                 int first_suitable_idx = idx;
>>>>>>>>>>>>>
>>>>>>>>>>>>>                 /*
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>>>>>>>>> Maybe something like this, again lightly tested:
>>>>>>>>>>>>
>>>>>>>>>>>> -----8<-----
>>>>>>>>>>>>
>>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>>>                  * has been stopped already into account.
>>>>>>>>>>>>                  */
>>>>>>>>>>>>                 intercept_sum = 0;
>>>>>>>>>>>> +               hit_sum = 0;
>>>>>>>>>>>>
>>>>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>>>>>>>>
>>>>>>>>>>>>                         intercept_sum += bin->intercepts;
>>>>>>>>>>>> +                       hit_sum += bin->hits;
>>>>>>>>>>>>
>>>>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>>>>>>>>                                 /*
>>>>>>>>>>>>                                  * Use the current state unless it is too
>>>>>>>>>>>>                                  * shallow or disabled, in which case take the
>>>>>>>>>>>
>>>>>>>>>>> This will only matter after the deepest state has been rejected
>>>>>>>>>>> already and on the system in question this means selecting state 0 no
>>>>>>>>>>> matter what.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Ah, right!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>>>>>>>>
>>>>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>>>>>>>>> deepest state (and it will contribute to the total sum in the check
>>>>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>>>>>>>>> enough and the deepest state will become the candidate one.  If
>>>>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>>>>>>>>> ensues.
>>>>>>>>>>
>>>>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>>>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
>>>>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>>>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
>>>>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>>>>>>>>> intercept logic.
>>>>>>>>>
>>>>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
>>>>>>>>> wakeups and timer wakeups.
>>>>>>>>>
>>>>>>>>> I actually think that tick wakeups can be counted as hits on the
>>>>>>>>> deepest available state - maybe only when tick wakeups dominate the
>>>>>>>>> wakeup pattern - but generally this is not unreasonable: When the
>>>>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
>>>>>>>>> enough reason to stop the tick.
>>>>>>>>
>>>>>>>> (assuming HZ=1000 below but it doesn't matter)
>>>>>>>> That will exclude any 'intercept' logic from having much effect if the
>>>>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
>>>>>>>> off from state1 residency, like in Reka's case here.
>>>>>>>> That's why I thought it would cause unreasonable regressions here.
>>>>>>>> I'll give it a go as well though!
>>>>>>>
>>>>>>> Thanks!
>>>>>>>
>>>>>>> Note that I'd prefer to add a check if tick wakeups dominate the
>>>>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
>>>>>>> I'd first like to know how the Reka's system reacts to the more
>>>>>>> drastic variant of this change.
>>>>>>
>>>>>> Below are my usual tests, it's definitely visible but the impact is limited
>>>>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
>>>>>> the "tick wakeup dominate" it should be acceptable!
>>>>>> Let's see what Reka reports.
>>>>>>
>>>>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
>>>>> / low frequent wakeup scenario) the impact becomes clearly visible.
>>>>> Still hopeful that the more conservative approach will be acceptable!
>>>>
>>>> Speaking of which, the patch to test is appended below, but it doesn't apply
>>>> directly on top of the mainline.  It is based on some other patches that have
>>>> been posted recently, so here's a git branch with all of the requisite
>>>> material:
>>>>
>>>> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
>>>>
>>>> Reka, please try this one and let us know how it goes.
>>>
>>> Results attached. The residencies are a bit less deep than before -
>>> about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
>>> I’m guessing that’s expected.
>>>
>>> I also measured the power on a slightly different system where I first
>>> noticed this regression, and it’s indistinguishable from 6.6. So from
>>> my side this looks great, thank you!
>>
>> Good news!
> 
> So I'm going to queue this up for 6.19 along with the material it depends on.
> 
> I'd rather not rush it into 6.18-rc7 because it would not get
> meaningful exposure in linux-next before appearing in the mainline in
> that case.

Ack

> 
> Reka, I'm going to add your Tested-by: to it, please let me know if
> there are any concerns regarding that.
> 
> Now, I think that it needs to go into -stable (6.12+ I suppose?) and
> I'm going to instruct -stable to pick up the dependencies along with
> it.
> 

Would be nice to get teo slightly more aligned, agreed!
As noted I don't think it's 6.12+ only but clearly that's where the
impact of the issue is the highest.
Thanks for fixing this!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14 14:47                                           ` Christian Loehle
@ 2025-11-14 15:12                                             ` Rafael J. Wysocki
  2025-11-14 15:33                                               ` Christian Loehle
  0 siblings, 1 reply; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-14 15:12 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, Reka Norman, daniel.lezcano, linux-pm

On Fri, Nov 14, 2025 at 3:47 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/13/25 16:56, Rafael J. Wysocki wrote:
> > On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> >> On 11/12/25 18:33, Christian Loehle wrote:
> >>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
> >>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> >>>> <christian.loehle@arm.com> wrote:
> >>>>>
> >>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> >>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> >>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>
> >>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>
> >>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> >>>>>>
> >>>>>> [...]
> >>>>>>
> >>>>>>>>>> I see two issues:
> >>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>>>>>
> >>>>>>>> This shouldn't be a problem.
> >>>>>>>
> >>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>>>>>> never been an issue.
> >>>>>>
> >>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
> >>>>>>
> >>>>>>>>
> >>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>>>>>> have been a really good candidate actually).
> >>>>>>>>
> >>>>>>>> Well, it would exclude the state if the sum of hits for the states
> >>>>>>>> below it is large enough.  This is questionable (because why would
> >>>>>>>> hits matter here), but I attempted to make the change below and
> >>>>>>>> somebody reported a regression IIRC.
> >>>>>>>>
> >>>>>>>> This check is related to the problem at hand though (see below).
> >>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>>>>>
> >>>>>>>>>> -----8<-----
> >>>>>>>>>>
> >>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>>>>>          * better choice.
> >>>>>>>>>>          */
> >>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>>>>>                 int first_suitable_idx = idx;
> >>>>>>>>>>
> >>>>>>>>>>                 /*
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>>>>>> Maybe something like this, again lightly tested:
> >>>>>>>>>
> >>>>>>>>> -----8<-----
> >>>>>>>>>
> >>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>                  * has been stopped already into account.
> >>>>>>>>>                  */
> >>>>>>>>>                 intercept_sum = 0;
> >>>>>>>>> +               hit_sum = 0;
> >>>>>>>>>
> >>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>>>>>
> >>>>>>>>>                         intercept_sum += bin->intercepts;
> >>>>>>>>> +                       hit_sum += bin->hits;
> >>>>>>>>>
> >>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>>>>>                                 /*
> >>>>>>>>>                                  * Use the current state unless it is too
> >>>>>>>>>                                  * shallow or disabled, in which case take the
> >>>>>>>>
> >>>>>>>> This will only matter after the deepest state has been rejected
> >>>>>>>> already and on the system in question this means selecting state 0 no
> >>>>>>>> matter what.
> >>>>>>>>
> >>>>>>>
> >>>>>>> Ah, right!
> >>>>>>>
> >>>>>>>
> >>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>>>>>
> >>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>>>>>> deepest state (and it will contribute to the total sum in the check
> >>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>>>>>> enough and the deepest state will become the candidate one.  If
> >>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>>>>>> ensues.
> >>>>>>>
> >>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
> >>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
> >>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>>>>>> intercept logic.
> >>>>>>
> >>>>>> Not quite.  The intercept logic is there for wakeups other than tick
> >>>>>> wakeups and timer wakeups.
> >>>>>>
> >>>>>> I actually think that tick wakeups can be counted as hits on the
> >>>>>> deepest available state - maybe only when tick wakeups dominate the
> >>>>>> wakeup pattern - but generally this is not unreasonable: When the
> >>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> >>>>>> enough reason to stop the tick.
> >>>>>
> >>>>> (assuming HZ=1000 below but it doesn't matter)
> >>>>> That will exclude any 'intercept' logic from having much effect if the
> >>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> >>>>> off from state1 residency, like in Reka's case here.
> >>>>> That's why I thought it would cause unreasonable regressions here.
> >>>>> I'll give it a go as well though!
> >>>>
> >>>> Thanks!
> >>>>
> >>>> Note that I'd prefer to add a check if tick wakeups dominate the
> >>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> >>>> I'd first like to know how the Reka's system reacts to the more
> >>>> drastic variant of this change.
> >>>
> >>> Below are my usual tests, it's definitely visible but the impact is limited
> >>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> >>> the "tick wakeup dominate" it should be acceptable!
> >>> Let's see what Reka reports.
> >>>
> >> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> >> / low frequent wakeup scenario) the impact becomes clearly visible.
> >> Still hopeful that the more conservative approach will be acceptable!
> >
> > Speaking of which, the patch to test is appended below, but it doesn't apply
> > directly on top of the mainline.  It is based on some other patches that have
> > been posted recently, so here's a git branch with all of the requisite
> > material:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> >
> > Reka, please try this one and let us know how it goes.
> >
> > ---
> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > Subject: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
> >
> > If the wakeup pattern is clearly dominated by tick wakeups, count those
> > wakeups as hits on the deepest available idle state to increase the
> > likelihood of stopping the tick, especially on systems where there are
> > only 2 usable idle states and the tick can only be stopped when the
> > deeper state is selected.
>
> Maybe a sentence on the consequence that without this we may be ever-stuck in
> the intercept logic.

Good point, I'll add one.

> >
> > This change is expected to reduce power on some systems where state 0 is
> > selected relatively often even though they are almost idle.
> >
>
> Should be a fixes tag, but I think it's a lot earlier than just
> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")

I'll add the Fixes: tag pointing to this because it has exposed the
issue, but I agree that it was there earlier.

> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > ---
> >  drivers/cpuidle/governors/teo.c |   39 ++++++++++++++++++++++++---------------
> >  1 file changed, 24 insertions(+), 15 deletions(-)
> >
> > --- a/drivers/cpuidle/governors/teo.c
> > +++ b/drivers/cpuidle/governors/teo.c
> > @@ -133,17 +133,19 @@ struct teo_bin {
> >   * @sleep_length_ns: Time till the closest timer event (at the selection time).
> >   * @state_bins: Idle state data bins for this CPU.
> >   * @total: Grand total of the "intercepts" and "hits" metrics for all bins.
> > + * @total_tick: Wakeups by the scheduler tick.
> >   * @tick_intercepts: "Intercepts" before TICK_NSEC.
> >   * @short_idles: Wakeups after short idle periods.
> > - * @artificial_wakeup: Set if the wakeup has been triggered by a safety net.
> > + * @tick_wakeup: Set if the last wakeup was by the scheduler tick.
> >   */
> >  struct teo_cpu {
> >       s64 sleep_length_ns;
> >       struct teo_bin state_bins[CPUIDLE_STATE_MAX];
> >       unsigned int total;
> > +     unsigned int total_tick;
> >       unsigned int tick_intercepts;
> >       unsigned int short_idles;
> > -     bool artificial_wakeup;
> > +     bool tick_wakeup;
> >  };
> >
> >  static DEFINE_PER_CPU(struct teo_cpu, teo_cpus);
> > @@ -172,9 +174,10 @@ static void teo_update(struct cpuidle_dr
> >
> >       teo_decay(&cpu_data->short_idles);
> >
> > -     if (cpu_data->artificial_wakeup) {
> > +     if (dev->poll_time_limit) {
> > +             dev->poll_time_limit = false;
> >               /*
> > -              * If one of the safety nets has triggered, assume that this
> > +              * Polling state timeout has triggered, so assume that this
> >                * might have been a long sleep.
> >                */
> >               measured_ns = S64_MAX;
> > @@ -223,6 +226,21 @@ static void teo_update(struct cpuidle_dr
> >       cpu_data->total = total + PULSE;
> >
> >       teo_decay(&cpu_data->tick_intercepts);
> > +
> > +     teo_decay(&cpu_data->total_tick);
> > +     if (cpu_data->tick_wakeup) {
> > +             cpu_data->total_tick += PULSE;
> > +             /*
> > +              * If tick wakeups dominate the wakeup pattern, count this one
> > +              * as a hit on the deepest available idle state to increase the
> > +              * likelihood of stopping the tick.
> > +              */
> > +             if (3 * cpu_data->total_tick > 2 * cpu_data->total) {
> > +                     cpu_data->state_bins[drv->state_count-1].hits += PULSE;
> > +                     return;
> > +             }
> > +     }
> > +
>
> What if this state happens to be disabled?
> If we're walking through the states anyway to find the deepest non-disabled one,
> I think the first non-disabled above TICK_NSEC might be an even better choice?

It actually doesn't matter AFAICS because those hits only come to play in the

    if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {

check in teo_select() and they are included in cpu_data->total in either case.

> >       /*
> >        * If the measured idle duration falls into the same bin as the sleep
> >        * length, this is a "hit", so update the "hits" metric for that bin.
> > @@ -512,18 +530,9 @@ static void teo_reflect(struct cpuidle_d
> >  {
> >       struct teo_cpu *cpu_data = per_cpu_ptr(&teo_cpus, dev->cpu);
> >
> > +     cpu_data->tick_wakeup = tick_nohz_idle_got_tick();
> > +
> >       dev->last_state_idx = state;
> > -     if (dev->poll_time_limit ||
> > -         (tick_nohz_idle_got_tick() && cpu_data->sleep_length_ns > TICK_NSEC)) {
> > -             /*
> > -              * The wakeup was not "genuine", but triggered by one of the
> > -              * safety nets.
> > -              */
> > -             dev->poll_time_limit = false;
> > -             cpu_data->artificial_wakeup = true;
> > -     } else {
> > -             cpu_data->artificial_wakeup = false;
> > -     }
> >  }
>
> The result is definitely still visible, especially looking at the belows, but I'd say
> this is in a reasonable range.
> Tested-by: Christian Loehle <christian.loehle@arm.com>

Thanks!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14 14:49                                                 ` Christian Loehle
@ 2025-11-14 15:13                                                   ` Rafael J. Wysocki
  0 siblings, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-14 15:13 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, Reka Norman, daniel.lezcano, linux-pm

On Fri, Nov 14, 2025 at 3:49 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/14/25 14:15, Rafael J. Wysocki wrote:
> > On Fri, Nov 14, 2025 at 9:33 AM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/14/25 04:05, Reka Norman wrote:
> >>> On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>>>
> >>>> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> >>>>> On 11/12/25 18:33, Christian Loehle wrote:
> >>>>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
> >>>>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> >>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>
> >>>>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> >>>>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> >>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> >>>>>>>>>
> >>>>>>>>> [...]
> >>>>>>>>>
> >>>>>>>>>>>>> I see two issues:
> >>>>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>>>>>>>>
> >>>>>>>>>>> This shouldn't be a problem.
> >>>>>>>>>>
> >>>>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>>>>>>>>> never been an issue.
> >>>>>>>>>
> >>>>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
> >>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>>>>>>>>> have been a really good candidate actually).
> >>>>>>>>>>>
> >>>>>>>>>>> Well, it would exclude the state if the sum of hits for the states
> >>>>>>>>>>> below it is large enough.  This is questionable (because why would
> >>>>>>>>>>> hits matter here), but I attempted to make the change below and
> >>>>>>>>>>> somebody reported a regression IIRC.
> >>>>>>>>>>>
> >>>>>>>>>>> This check is related to the problem at hand though (see below).
> >>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>>>>>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> -----8<-----
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>>>>>>>>          * better choice.
> >>>>>>>>>>>>>          */
> >>>>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>>>>>>>>                 int first_suitable_idx = idx;
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>                 /*
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>>>>>>>>> Maybe something like this, again lightly tested:
> >>>>>>>>>>>>
> >>>>>>>>>>>> -----8<-----
> >>>>>>>>>>>>
> >>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>>                  * has been stopped already into account.
> >>>>>>>>>>>>                  */
> >>>>>>>>>>>>                 intercept_sum = 0;
> >>>>>>>>>>>> +               hit_sum = 0;
> >>>>>>>>>>>>
> >>>>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>>>>>>>>
> >>>>>>>>>>>>                         intercept_sum += bin->intercepts;
> >>>>>>>>>>>> +                       hit_sum += bin->hits;
> >>>>>>>>>>>>
> >>>>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>>>>>>>>                                 /*
> >>>>>>>>>>>>                                  * Use the current state unless it is too
> >>>>>>>>>>>>                                  * shallow or disabled, in which case take the
> >>>>>>>>>>>
> >>>>>>>>>>> This will only matter after the deepest state has been rejected
> >>>>>>>>>>> already and on the system in question this means selecting state 0 no
> >>>>>>>>>>> matter what.
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Ah, right!
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>>>>>>>>
> >>>>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>>>>>>>>> deepest state (and it will contribute to the total sum in the check
> >>>>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>>>>>>>>> enough and the deepest state will become the candidate one.  If
> >>>>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>>>>>>>>> ensues.
> >>>>>>>>>>
> >>>>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>>>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
> >>>>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>>>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
> >>>>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>>>>>>>>> intercept logic.
> >>>>>>>>>
> >>>>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
> >>>>>>>>> wakeups and timer wakeups.
> >>>>>>>>>
> >>>>>>>>> I actually think that tick wakeups can be counted as hits on the
> >>>>>>>>> deepest available state - maybe only when tick wakeups dominate the
> >>>>>>>>> wakeup pattern - but generally this is not unreasonable: When the
> >>>>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> >>>>>>>>> enough reason to stop the tick.
> >>>>>>>>
> >>>>>>>> (assuming HZ=1000 below but it doesn't matter)
> >>>>>>>> That will exclude any 'intercept' logic from having much effect if the
> >>>>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> >>>>>>>> off from state1 residency, like in Reka's case here.
> >>>>>>>> That's why I thought it would cause unreasonable regressions here.
> >>>>>>>> I'll give it a go as well though!
> >>>>>>>
> >>>>>>> Thanks!
> >>>>>>>
> >>>>>>> Note that I'd prefer to add a check if tick wakeups dominate the
> >>>>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> >>>>>>> I'd first like to know how the Reka's system reacts to the more
> >>>>>>> drastic variant of this change.
> >>>>>>
> >>>>>> Below are my usual tests, it's definitely visible but the impact is limited
> >>>>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> >>>>>> the "tick wakeup dominate" it should be acceptable!
> >>>>>> Let's see what Reka reports.
> >>>>>>
> >>>>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> >>>>> / low frequent wakeup scenario) the impact becomes clearly visible.
> >>>>> Still hopeful that the more conservative approach will be acceptable!
> >>>>
> >>>> Speaking of which, the patch to test is appended below, but it doesn't apply
> >>>> directly on top of the mainline.  It is based on some other patches that have
> >>>> been posted recently, so here's a git branch with all of the requisite
> >>>> material:
> >>>>
> >>>> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> >>>>
> >>>> Reka, please try this one and let us know how it goes.
> >>>
> >>> Results attached. The residencies are a bit less deep than before -
> >>> about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> >>> I’m guessing that’s expected.
> >>>
> >>> I also measured the power on a slightly different system where I first
> >>> noticed this regression, and it’s indistinguishable from 6.6. So from
> >>> my side this looks great, thank you!
> >>
> >> Good news!
> >
> > So I'm going to queue this up for 6.19 along with the material it depends on.
> >
> > I'd rather not rush it into 6.18-rc7 because it would not get
> > meaningful exposure in linux-next before appearing in the mainline in
> > that case.
>
> Ack
>
> >
> > Reka, I'm going to add your Tested-by: to it, please let me know if
> > there are any concerns regarding that.
> >
> > Now, I think that it needs to go into -stable (6.12+ I suppose?) and
> > I'm going to instruct -stable to pick up the dependencies along with
> > it.
> >
>
> Would be nice to get teo slightly more aligned, agreed!
> As noted I don't think it's 6.12+ only but clearly that's where the
> impact of the issue is the highest.
> Thanks for fixing this!

Anytime!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14 15:12                                             ` Rafael J. Wysocki
@ 2025-11-14 15:33                                               ` Christian Loehle
  0 siblings, 0 replies; 48+ messages in thread
From: Christian Loehle @ 2025-11-14 15:33 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Reka Norman, daniel.lezcano, linux-pm

On 11/14/25 15:12, Rafael J. Wysocki wrote:
> On Fri, Nov 14, 2025 at 3:47 PM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/13/25 16:56, Rafael J. Wysocki wrote:
>>> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
>>>> On 11/12/25 18:33, Christian Loehle wrote:
>>>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
>>>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>
>>>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
>>>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>
>>>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>>>>>>
>>>>>>>> [...]
>>>>>>>>
>>>>>>>>>>>> I see two issues:
>>>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>>>>>>>
>>>>>>>>>> This shouldn't be a problem.
>>>>>>>>>
>>>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>>>>>>>> never been an issue.
>>>>>>>>
>>>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>>>>>>>> have been a really good candidate actually).
>>>>>>>>>>
>>>>>>>>>> Well, it would exclude the state if the sum of hits for the states
>>>>>>>>>> below it is large enough.  This is questionable (because why would
>>>>>>>>>> hits matter here), but I attempted to make the change below and
>>>>>>>>>> somebody reported a regression IIRC.
>>>>>>>>>>
>>>>>>>>>> This check is related to the problem at hand though (see below).
>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>>>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>>>>>>>
>>>>>>>>>>>> -----8<-----
>>>>>>>>>>>>
>>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>>>>>>>          * better choice.
>>>>>>>>>>>>          */
>>>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>>>>>>>                 int first_suitable_idx = idx;
>>>>>>>>>>>>
>>>>>>>>>>>>                 /*
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>>>>>>>> Maybe something like this, again lightly tested:
>>>>>>>>>>>
>>>>>>>>>>> -----8<-----
>>>>>>>>>>>
>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>>                  * has been stopped already into account.
>>>>>>>>>>>                  */
>>>>>>>>>>>                 intercept_sum = 0;
>>>>>>>>>>> +               hit_sum = 0;
>>>>>>>>>>>
>>>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>>>>>>>
>>>>>>>>>>>                         intercept_sum += bin->intercepts;
>>>>>>>>>>> +                       hit_sum += bin->hits;
>>>>>>>>>>>
>>>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>>>>>>>                                 /*
>>>>>>>>>>>                                  * Use the current state unless it is too
>>>>>>>>>>>                                  * shallow or disabled, in which case take the
>>>>>>>>>>
>>>>>>>>>> This will only matter after the deepest state has been rejected
>>>>>>>>>> already and on the system in question this means selecting state 0 no
>>>>>>>>>> matter what.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Ah, right!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>>>>>>>
>>>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>>>>>>>> deepest state (and it will contribute to the total sum in the check
>>>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>>>>>>>> enough and the deepest state will become the candidate one.  If
>>>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>>>>>>>> ensues.
>>>>>>>>>
>>>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
>>>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
>>>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>>>>>>>> intercept logic.
>>>>>>>>
>>>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
>>>>>>>> wakeups and timer wakeups.
>>>>>>>>
>>>>>>>> I actually think that tick wakeups can be counted as hits on the
>>>>>>>> deepest available state - maybe only when tick wakeups dominate the
>>>>>>>> wakeup pattern - but generally this is not unreasonable: When the
>>>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
>>>>>>>> enough reason to stop the tick.
>>>>>>>
>>>>>>> (assuming HZ=1000 below but it doesn't matter)
>>>>>>> That will exclude any 'intercept' logic from having much effect if the
>>>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
>>>>>>> off from state1 residency, like in Reka's case here.
>>>>>>> That's why I thought it would cause unreasonable regressions here.
>>>>>>> I'll give it a go as well though!
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>> Note that I'd prefer to add a check if tick wakeups dominate the
>>>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
>>>>>> I'd first like to know how the Reka's system reacts to the more
>>>>>> drastic variant of this change.
>>>>>
>>>>> Below are my usual tests, it's definitely visible but the impact is limited
>>>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
>>>>> the "tick wakeup dominate" it should be acceptable!
>>>>> Let's see what Reka reports.
>>>>>
>>>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
>>>> / low frequent wakeup scenario) the impact becomes clearly visible.
>>>> Still hopeful that the more conservative approach will be acceptable!
>>>
>>> Speaking of which, the patch to test is appended below, but it doesn't apply
>>> directly on top of the mainline.  It is based on some other patches that have
>>> been posted recently, so here's a git branch with all of the requisite
>>> material:
>>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
>>>
>>> Reka, please try this one and let us know how it goes.
>>>
>>> ---
>>> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>>> Subject: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
>>>
>>> If the wakeup pattern is clearly dominated by tick wakeups, count those
>>> wakeups as hits on the deepest available idle state to increase the
>>> likelihood of stopping the tick, especially on systems where there are
>>> only 2 usable idle states and the tick can only be stopped when the
>>> deeper state is selected.
>>
>> Maybe a sentence on the consequence that without this we may be ever-stuck in
>> the intercept logic.
> 
> Good point, I'll add one.
> 
>>>
>>> This change is expected to reduce power on some systems where state 0 is
>>> selected relatively often even though they are almost idle.
>>>
>>
>> Should be a fixes tag, but I think it's a lot earlier than just
>> 4b20b07ce72f ("cpuidle: teo: Don't count non-existent intercepts")
> 
> I'll add the Fixes: tag pointing to this because it has exposed the
> issue, but I agree that it was there earlier.
> 
>>> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>>> ---
>>>  drivers/cpuidle/governors/teo.c |   39 ++++++++++++++++++++++++---------------
>>>  1 file changed, 24 insertions(+), 15 deletions(-)
>>>
>>> --- a/drivers/cpuidle/governors/teo.c
>>> +++ b/drivers/cpuidle/governors/teo.c
>>> @@ -133,17 +133,19 @@ struct teo_bin {
>>>   * @sleep_length_ns: Time till the closest timer event (at the selection time).
>>>   * @state_bins: Idle state data bins for this CPU.
>>>   * @total: Grand total of the "intercepts" and "hits" metrics for all bins.
>>> + * @total_tick: Wakeups by the scheduler tick.
>>>   * @tick_intercepts: "Intercepts" before TICK_NSEC.
>>>   * @short_idles: Wakeups after short idle periods.
>>> - * @artificial_wakeup: Set if the wakeup has been triggered by a safety net.
>>> + * @tick_wakeup: Set if the last wakeup was by the scheduler tick.
>>>   */
>>>  struct teo_cpu {
>>>       s64 sleep_length_ns;
>>>       struct teo_bin state_bins[CPUIDLE_STATE_MAX];
>>>       unsigned int total;
>>> +     unsigned int total_tick;
>>>       unsigned int tick_intercepts;
>>>       unsigned int short_idles;
>>> -     bool artificial_wakeup;
>>> +     bool tick_wakeup;
>>>  };
>>>
>>>  static DEFINE_PER_CPU(struct teo_cpu, teo_cpus);
>>> @@ -172,9 +174,10 @@ static void teo_update(struct cpuidle_dr
>>>
>>>       teo_decay(&cpu_data->short_idles);
>>>
>>> -     if (cpu_data->artificial_wakeup) {
>>> +     if (dev->poll_time_limit) {
>>> +             dev->poll_time_limit = false;
>>>               /*
>>> -              * If one of the safety nets has triggered, assume that this
>>> +              * Polling state timeout has triggered, so assume that this
>>>                * might have been a long sleep.
>>>                */
>>>               measured_ns = S64_MAX;
>>> @@ -223,6 +226,21 @@ static void teo_update(struct cpuidle_dr
>>>       cpu_data->total = total + PULSE;
>>>
>>>       teo_decay(&cpu_data->tick_intercepts);
>>> +
>>> +     teo_decay(&cpu_data->total_tick);
>>> +     if (cpu_data->tick_wakeup) {
>>> +             cpu_data->total_tick += PULSE;
>>> +             /*
>>> +              * If tick wakeups dominate the wakeup pattern, count this one
>>> +              * as a hit on the deepest available idle state to increase the
>>> +              * likelihood of stopping the tick.
>>> +              */
>>> +             if (3 * cpu_data->total_tick > 2 * cpu_data->total) {
>>> +                     cpu_data->state_bins[drv->state_count-1].hits += PULSE;
>>> +                     return;
>>> +             }
>>> +     }
>>> +
>>
>> What if this state happens to be disabled?
>> If we're walking through the states anyway to find the deepest non-disabled one,
>> I think the first non-disabled above TICK_NSEC might be an even better choice?
> 
> It actually doesn't matter AFAICS because those hits only come to play in the
> 
>     if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> 
> check in teo_select() and they are included in cpu_data->total in either case.

Ah right, they will be part of total, not part of idx_hit_sum which is what we want.
Sorry for the noise.

> [snip]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14  8:33                                             ` Christian Loehle
  2025-11-14 14:15                                               ` Rafael J. Wysocki
@ 2025-11-17  5:14                                               ` Reka Norman
  2025-11-17  8:45                                                 ` Christian Loehle
  1 sibling, 1 reply; 48+ messages in thread
From: Reka Norman @ 2025-11-17  5:14 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

On Fri, Nov 14, 2025 at 7:33 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/14/25 04:05, Reka Norman wrote:
> > On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>
> >> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> >>> On 11/12/25 18:33, Christian Loehle wrote:
> >>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
> >>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> >>>>> <christian.loehle@arm.com> wrote:
> >>>>>>
> >>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> >>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> >>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>
> >>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> >>>>>>>
> >>>>>>> [...]
> >>>>>>>
> >>>>>>>>>>> I see two issues:
> >>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>>>>>>
> >>>>>>>>> This shouldn't be a problem.
> >>>>>>>>
> >>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>>>>>>> never been an issue.
> >>>>>>>
> >>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
> >>>>>>>
> >>>>>>>>>
> >>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>>>>>>> have been a really good candidate actually).
> >>>>>>>>>
> >>>>>>>>> Well, it would exclude the state if the sum of hits for the states
> >>>>>>>>> below it is large enough.  This is questionable (because why would
> >>>>>>>>> hits matter here), but I attempted to make the change below and
> >>>>>>>>> somebody reported a regression IIRC.
> >>>>>>>>>
> >>>>>>>>> This check is related to the problem at hand though (see below).
> >>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>>>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>>>>>>
> >>>>>>>>>>> -----8<-----
> >>>>>>>>>>>
> >>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>>>>>>          * better choice.
> >>>>>>>>>>>          */
> >>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>>>>>>                 int first_suitable_idx = idx;
> >>>>>>>>>>>
> >>>>>>>>>>>                 /*
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>>>>>>> Maybe something like this, again lightly tested:
> >>>>>>>>>>
> >>>>>>>>>> -----8<-----
> >>>>>>>>>>
> >>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>                  * has been stopped already into account.
> >>>>>>>>>>                  */
> >>>>>>>>>>                 intercept_sum = 0;
> >>>>>>>>>> +               hit_sum = 0;
> >>>>>>>>>>
> >>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>>>>>>
> >>>>>>>>>>                         intercept_sum += bin->intercepts;
> >>>>>>>>>> +                       hit_sum += bin->hits;
> >>>>>>>>>>
> >>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>>>>>>                                 /*
> >>>>>>>>>>                                  * Use the current state unless it is too
> >>>>>>>>>>                                  * shallow or disabled, in which case take the
> >>>>>>>>>
> >>>>>>>>> This will only matter after the deepest state has been rejected
> >>>>>>>>> already and on the system in question this means selecting state 0 no
> >>>>>>>>> matter what.
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> Ah, right!
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>>>>>>
> >>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>>>>>>> deepest state (and it will contribute to the total sum in the check
> >>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>>>>>>> enough and the deepest state will become the candidate one.  If
> >>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>>>>>>> ensues.
> >>>>>>>>
> >>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
> >>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
> >>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>>>>>>> intercept logic.
> >>>>>>>
> >>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
> >>>>>>> wakeups and timer wakeups.
> >>>>>>>
> >>>>>>> I actually think that tick wakeups can be counted as hits on the
> >>>>>>> deepest available state - maybe only when tick wakeups dominate the
> >>>>>>> wakeup pattern - but generally this is not unreasonable: When the
> >>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> >>>>>>> enough reason to stop the tick.
> >>>>>>
> >>>>>> (assuming HZ=1000 below but it doesn't matter)
> >>>>>> That will exclude any 'intercept' logic from having much effect if the
> >>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> >>>>>> off from state1 residency, like in Reka's case here.
> >>>>>> That's why I thought it would cause unreasonable regressions here.
> >>>>>> I'll give it a go as well though!
> >>>>>
> >>>>> Thanks!
> >>>>>
> >>>>> Note that I'd prefer to add a check if tick wakeups dominate the
> >>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> >>>>> I'd first like to know how the Reka's system reacts to the more
> >>>>> drastic variant of this change.
> >>>>
> >>>> Below are my usual tests, it's definitely visible but the impact is limited
> >>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> >>>> the "tick wakeup dominate" it should be acceptable!
> >>>> Let's see what Reka reports.
> >>>>
> >>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> >>> / low frequent wakeup scenario) the impact becomes clearly visible.
> >>> Still hopeful that the more conservative approach will be acceptable!
> >>
> >> Speaking of which, the patch to test is appended below, but it doesn't apply
> >> directly on top of the mainline.  It is based on some other patches that have
> >> been posted recently, so here's a git branch with all of the requisite
> >> material:
> >>
> >> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> >>
> >> Reka, please try this one and let us know how it goes.
> >
> > Results attached. The residencies are a bit less deep than before -
> > about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> > I’m guessing that’s expected.
> >
> > I also measured the power on a slightly different system where I first
> > noticed this regression, and it’s indistinguishable from 6.6. So from
> > my side this looks great, thank you!
>
> Good news!
> For completeness:
>
> Per-Cluster deltas: BIG
>
> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> +=========+=======+==============+============+=========+========+========+=========+========+=========+
> | BIG     |     0 | WFI          | 957,853    |   2.99% | 2,537  | 0      |   0.00% | 0      |   0.00% |
> | BIG     |     1 | cpuoff-b     | 163,636    |   0.51% | 21     | 18     |  85.71% | 3      |  14.29% |
> | BIG     |     2 | clusteroff-b | 30,918,285 |  96.50% | 501    | 128    |  25.55% | 0      |   0.00% |
> | BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> | BIG     | TOTAL |              | 32,039,774 | 100.00% | 3,059  | 146    |   4.77% | 3      |   0.10% |
> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
>
> Per-Cluster deltas: LITTLE
>
> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
> | cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> +=========+=======+==============+=============+=========+========+========+=========+========+=========+
> | LITTLE  |     0 | WFI          | 8,424,141   |   6.63% | 16,629 | 0      |   0.00% | 0      |   0.00% |
> | LITTLE  |     1 | cpuoff-l     | 11,121,561  |   8.75% | 485    | 96     |  19.79% | 388    |  80.00% |
> | LITTLE  |     2 | clusteroff-l | 107,499,073 |  84.62% | 2,705  | 1,001  |  37.01% | 0      |   0.00% |
> | LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> | LITTLE  | TOTAL |              | 127,044,775 | 100.00% | 19,819 | 1,097  |   5.54% | 388    |   1.96% |
> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
>
> Per-Cluster deltas: MID
>
> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> +=========+=======+==============+============+=========+========+========+=========+========+=========+
> | MID     |     0 | WFI          | 2,593,501  |   2.72% | 7,278  | 0      |   0.00% | 0      |   0.00% |
> | MID     |     1 | cpuoff-m     | 188,793    |   0.20% | 51     | 48     |  94.12% | 3      |   5.88% |
> | MID     |     2 | clusteroff-m | 92,616,252 |  97.08% | 605    | 257    |  42.48% | 0      |   0.00% |
> | MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> | MID     | TOTAL |              | 95,398,546 | 100.00% | 7,934  | 305    |   3.84% | 3      |   0.04% |
> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
>
> Out of curiosity:
> Do you know if the platform respects cpuoff / clusteroff distinction
> properly? Is the power difference measurable?

No, I’m not really familiar with the details myself. I’ll check if
others know more. I did a quick test with disabling cpuoff on all
cores, then disabling clusteroff on all cores. The power does seem to
be slightly higher with clusteroff disabled, but the difference is
barely above the noise level so I’m not certain.

> There really is no reason for cpuidle to not autopromote them, if there's no latency
> requirement that would prevent that.
> Especially for the big cluster (just one CPU).

For my understanding, could you explain a bit more what you mean? It’s
already spending a lot less time in cpuoff than clusteroff. Would you
expect to see even less time in cpuoff (and 0 for the big core)?

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14  9:20                                             ` Christian Loehle
@ 2025-11-17  5:41                                               ` Reka Norman
  0 siblings, 0 replies; 48+ messages in thread
From: Reka Norman @ 2025-11-17  5:41 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

[-- Attachment #1: Type: text/plain, Size: 9376 bytes --]

On Fri, Nov 14, 2025 at 8:20 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/14/25 04:05, Reka Norman wrote:
> > On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>
> >> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> >>> On 11/12/25 18:33, Christian Loehle wrote:
> >>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
> >>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> >>>>> <christian.loehle@arm.com> wrote:
> >>>>>>
> >>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> >>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> >>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>
> >>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> >>>>>>>
> >>>>>>> [...]
> >>>>>>>
> >>>>>>>>>>> I see two issues:
> >>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>>>>>>
> >>>>>>>>> This shouldn't be a problem.
> >>>>>>>>
> >>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>>>>>>> never been an issue.
> >>>>>>>
> >>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
> >>>>>>>
> >>>>>>>>>
> >>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>>>>>>> have been a really good candidate actually).
> >>>>>>>>>
> >>>>>>>>> Well, it would exclude the state if the sum of hits for the states
> >>>>>>>>> below it is large enough.  This is questionable (because why would
> >>>>>>>>> hits matter here), but I attempted to make the change below and
> >>>>>>>>> somebody reported a regression IIRC.
> >>>>>>>>>
> >>>>>>>>> This check is related to the problem at hand though (see below).
> >>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>>>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>>>>>>
> >>>>>>>>>>> -----8<-----
> >>>>>>>>>>>
> >>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>>>>>>          * better choice.
> >>>>>>>>>>>          */
> >>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>>>>>>                 int first_suitable_idx = idx;
> >>>>>>>>>>>
> >>>>>>>>>>>                 /*
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>>>>>>> Maybe something like this, again lightly tested:
> >>>>>>>>>>
> >>>>>>>>>> -----8<-----
> >>>>>>>>>>
> >>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>                  * has been stopped already into account.
> >>>>>>>>>>                  */
> >>>>>>>>>>                 intercept_sum = 0;
> >>>>>>>>>> +               hit_sum = 0;
> >>>>>>>>>>
> >>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>>>>>>
> >>>>>>>>>>                         intercept_sum += bin->intercepts;
> >>>>>>>>>> +                       hit_sum += bin->hits;
> >>>>>>>>>>
> >>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>>>>>>                                 /*
> >>>>>>>>>>                                  * Use the current state unless it is too
> >>>>>>>>>>                                  * shallow or disabled, in which case take the
> >>>>>>>>>
> >>>>>>>>> This will only matter after the deepest state has been rejected
> >>>>>>>>> already and on the system in question this means selecting state 0 no
> >>>>>>>>> matter what.
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> Ah, right!
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>>>>>>
> >>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>>>>>>> deepest state (and it will contribute to the total sum in the check
> >>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>>>>>>> enough and the deepest state will become the candidate one.  If
> >>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>>>>>>> ensues.
> >>>>>>>>
> >>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
> >>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
> >>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>>>>>>> intercept logic.
> >>>>>>>
> >>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
> >>>>>>> wakeups and timer wakeups.
> >>>>>>>
> >>>>>>> I actually think that tick wakeups can be counted as hits on the
> >>>>>>> deepest available state - maybe only when tick wakeups dominate the
> >>>>>>> wakeup pattern - but generally this is not unreasonable: When the
> >>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> >>>>>>> enough reason to stop the tick.
> >>>>>>
> >>>>>> (assuming HZ=1000 below but it doesn't matter)
> >>>>>> That will exclude any 'intercept' logic from having much effect if the
> >>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> >>>>>> off from state1 residency, like in Reka's case here.
> >>>>>> That's why I thought it would cause unreasonable regressions here.
> >>>>>> I'll give it a go as well though!
> >>>>>
> >>>>> Thanks!
> >>>>>
> >>>>> Note that I'd prefer to add a check if tick wakeups dominate the
> >>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> >>>>> I'd first like to know how the Reka's system reacts to the more
> >>>>> drastic variant of this change.
> >>>>
> >>>> Below are my usual tests, it's definitely visible but the impact is limited
> >>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> >>>> the "tick wakeup dominate" it should be acceptable!
> >>>> Let's see what Reka reports.
> >>>>
> >>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> >>> / low frequent wakeup scenario) the impact becomes clearly visible.
> >>> Still hopeful that the more conservative approach will be acceptable!
> >>
> >> Speaking of which, the patch to test is appended below, but it doesn't apply
> >> directly on top of the mainline.  It is based on some other patches that have
> >> been posted recently, so here's a git branch with all of the requisite
> >> material:
> >>
> >> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> >>
> >> Reka, please try this one and let us know how it goes.
> >
> > Results attached. The residencies are a bit less deep than before -
> > about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> > I’m guessing that’s expected.
> >
> > I also measured the power on a slightly different system where I first
> > noticed this regression, and it’s indistinguishable from 6.6. So from
> > my side this looks great, thank you!
>
> Could you share details on the other platform?
> I wasn't able to reproduce your exact behaviour on my systems, so I'd
> still like to close my testing gap here!

Sorry, I wasn’t clear. It’s the same hardware (MT8196) and same
configuration parameters to cpuidle. It’s just different software and
a slightly less idle workload, so I was seeing the effects more
strongly, and the power difference with and without the fix is more
significant. I’ve attached sysfs dumps at mainline for completeness,
but I don’t expect there’s much new information there.

[-- Attachment #2: sysfs_mainline2_before.txt --]
[-- Type: text/plain, Size: 24997 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:256498500
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:159324
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:243
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:433
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:3
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:4209726
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:681
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:706
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2098900
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:10977263
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:1705
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:7570
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:123487900
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:73504
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:18
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:26
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:1800104
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:44
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:392
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2203752
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:150229794
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:1409
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:8608
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:117793314
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:71716
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:3
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:14
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:1619020
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:17
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:389
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1791640
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:160103918
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:1152
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2670
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:111437502
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:71607
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:4
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:3
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:167610
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:7
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:337
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1691597
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:169191821
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:1323
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1184
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:21606
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:90236594
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:60354
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:349
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:1723589
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:191503845
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:1260
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:970740
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:19056
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:79846812
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:55008
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:323
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:1979574
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:200972024
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:955
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:960861
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:18552
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:78628477
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:57998
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:324
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:1629873
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:203607155
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:956
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:947046
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:23420
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:100713224
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:68609
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:348
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:1525521
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:181809912
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:1687
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:850982
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

[-- Attachment #3: sysfs_mainline2_after.txt --]
[-- Type: text/plain, Size: 24999 bytes --]

/sys/devices/system/cpu/cpu0/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu0/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:283359003
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:171521
/sys/devices/system/cpu/cpu0/cpuidle/state1/above:297
/sys/devices/system/cpu/cpu0/cpuidle/state1/below:503
/sys/devices/system/cpu/cpu0/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/rejected:7
/sys/devices/system/cpu/cpu0/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:4885125
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:806
/sys/devices/system/cpu/cpu0/cpuidle/state2/above:860
/sys/devices/system/cpu/cpu0/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/rejected:2098900
/sys/devices/system/cpu/cpu0/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:12887731
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:2031
/sys/devices/system/cpu/cpu0/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/rejected:7570
/sys/devices/system/cpu/cpu0/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu1/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu1/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu1/cpuidle/state0/time:134448804
/sys/devices/system/cpu/cpu1/cpuidle/state0/usage:77181
/sys/devices/system/cpu/cpu1/cpuidle/state1/above:19
/sys/devices/system/cpu/cpu1/cpuidle/state1/below:29
/sys/devices/system/cpu/cpu1/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu1/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu1/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state1/time:2570359
/sys/devices/system/cpu/cpu1/cpuidle/state1/usage:48
/sys/devices/system/cpu/cpu1/cpuidle/state2/above:438
/sys/devices/system/cpu/cpu1/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu1/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu1/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/rejected:2203754
/sys/devices/system/cpu/cpu1/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state2/time:168375398
/sys/devices/system/cpu/cpu1/cpuidle/state2/usage:1612
/sys/devices/system/cpu/cpu1/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu1/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu1/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu1/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/rejected:8608
/sys/devices/system/cpu/cpu1/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu1/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu2/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu2/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu2/cpuidle/state0/time:126642431
/sys/devices/system/cpu/cpu2/cpuidle/state0/usage:74730
/sys/devices/system/cpu/cpu2/cpuidle/state1/above:5
/sys/devices/system/cpu/cpu2/cpuidle/state1/below:14
/sys/devices/system/cpu/cpu2/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu2/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu2/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state1/time:1625335
/sys/devices/system/cpu/cpu2/cpuidle/state1/usage:19
/sys/devices/system/cpu/cpu2/cpuidle/state2/above:432
/sys/devices/system/cpu/cpu2/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu2/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu2/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/rejected:1791640
/sys/devices/system/cpu/cpu2/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state2/time:181146324
/sys/devices/system/cpu/cpu2/cpuidle/state2/usage:1284
/sys/devices/system/cpu/cpu2/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu2/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu2/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu2/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/rejected:2670
/sys/devices/system/cpu/cpu2/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu2/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu3/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu3/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu3/cpuidle/state0/time:119337310
/sys/devices/system/cpu/cpu3/cpuidle/state0/usage:75098
/sys/devices/system/cpu/cpu3/cpuidle/state1/above:4
/sys/devices/system/cpu/cpu3/cpuidle/state1/below:3
/sys/devices/system/cpu/cpu3/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state1/desc:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/latency:349
/sys/devices/system/cpu/cpu3/cpuidle/state1/name:cpuoff-l
/sys/devices/system/cpu/cpu3/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state1/time:167610
/sys/devices/system/cpu/cpu3/cpuidle/state1/usage:7
/sys/devices/system/cpu/cpu3/cpuidle/state2/above:377
/sys/devices/system/cpu/cpu3/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state2/desc:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/latency:434
/sys/devices/system/cpu/cpu3/cpuidle/state2/name:clusteroff-l
/sys/devices/system/cpu/cpu3/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/rejected:1691601
/sys/devices/system/cpu/cpu3/cpuidle/state2/residency:6710
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state2/time:191231077
/sys/devices/system/cpu/cpu3/cpuidle/state2/usage:1462
/sys/devices/system/cpu/cpu3/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu3/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu3/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu3/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/rejected:1184
/sys/devices/system/cpu/cpu3/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu3/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu4/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/below:23323
/sys/devices/system/cpu/cpu4/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu4/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu4/cpuidle/state0/time:97200687
/sys/devices/system/cpu/cpu4/cpuidle/state0/usage:62800
/sys/devices/system/cpu/cpu4/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu4/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu4/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/above:387
/sys/devices/system/cpu/cpu4/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu4/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu4/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/rejected:1723590
/sys/devices/system/cpu/cpu4/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state2/time:214572099
/sys/devices/system/cpu/cpu4/cpuidle/state2/usage:1399
/sys/devices/system/cpu/cpu4/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu4/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu4/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu4/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/rejected:970740
/sys/devices/system/cpu/cpu4/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu4/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu5/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/below:20762
/sys/devices/system/cpu/cpu5/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu5/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu5/cpuidle/state0/time:86751994
/sys/devices/system/cpu/cpu5/cpuidle/state0/usage:57420
/sys/devices/system/cpu/cpu5/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu5/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu5/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/above:358
/sys/devices/system/cpu/cpu5/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu5/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu5/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/rejected:1979575
/sys/devices/system/cpu/cpu5/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state2/time:224095960
/sys/devices/system/cpu/cpu5/cpuidle/state2/usage:1059
/sys/devices/system/cpu/cpu5/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu5/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu5/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu5/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/rejected:960861
/sys/devices/system/cpu/cpu5/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu5/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu6/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/below:20131
/sys/devices/system/cpu/cpu6/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu6/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu6/cpuidle/state0/time:85024544
/sys/devices/system/cpu/cpu6/cpuidle/state0/usage:60274
/sys/devices/system/cpu/cpu6/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state1/desc:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/latency:196
/sys/devices/system/cpu/cpu6/cpuidle/state1/name:cpuoff-m
/sys/devices/system/cpu/cpu6/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/above:354
/sys/devices/system/cpu/cpu6/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state2/desc:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/latency:247
/sys/devices/system/cpu/cpu6/cpuidle/state2/name:clusteroff-m
/sys/devices/system/cpu/cpu6/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/rejected:1629873
/sys/devices/system/cpu/cpu6/cpuidle/state2/residency:2120
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state2/time:227166697
/sys/devices/system/cpu/cpu6/cpuidle/state2/usage:1051
/sys/devices/system/cpu/cpu6/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu6/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu6/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu6/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/rejected:947046
/sys/devices/system/cpu/cpu6/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu6/cpuidle/state3/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/driver/name:psci_idle
/sys/devices/system/cpu/cpu7/cpuidle/state0/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/below:25579
/sys/devices/system/cpu/cpu7/cpuidle/state0/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state0/desc:ARM WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/latency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/name:WFI
/sys/devices/system/cpu/cpu7/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state0/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state0/residency:1
/sys/devices/system/cpu/cpu7/cpuidle/state0/time:109460148
/sys/devices/system/cpu/cpu7/cpuidle/state0/usage:71494
/sys/devices/system/cpu/cpu7/cpuidle/state1/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state1/desc:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/latency:147
/sys/devices/system/cpu/cpu7/cpuidle/state1/name:cpuoff-b
/sys/devices/system/cpu/cpu7/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/rejected:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state1/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/above:391
/sys/devices/system/cpu/cpu7/cpuidle/state2/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state2/desc:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/latency:181
/sys/devices/system/cpu/cpu7/cpuidle/state2/name:clusteroff-b
/sys/devices/system/cpu/cpu7/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/rejected:1525521
/sys/devices/system/cpu/cpu7/cpuidle/state2/residency:2580
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state2/time:203060565
/sys/devices/system/cpu/cpu7/cpuidle/state2/usage:1909
/sys/devices/system/cpu/cpu7/cpuidle/state3/above:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/below:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/default_status:enabled
/sys/devices/system/cpu/cpu7/cpuidle/state3/desc:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/latency:20000
/sys/devices/system/cpu/cpu7/cpuidle/state3/name:s2idle
/sys/devices/system/cpu/cpu7/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/rejected:850982
/sys/devices/system/cpu/cpu7/cpuidle/state3/residency:4294967295
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/s2idle/usage:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/time:0
/sys/devices/system/cpu/cpu7/cpuidle/state3/usage:0

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-14 14:15                                               ` Rafael J. Wysocki
  2025-11-14 14:49                                                 ` Christian Loehle
@ 2025-11-17  5:44                                                 ` Reka Norman
  1 sibling, 0 replies; 48+ messages in thread
From: Reka Norman @ 2025-11-17  5:44 UTC (permalink / raw)
  To: Rafael J. Wysocki; +Cc: Christian Loehle, daniel.lezcano, linux-pm

On Sat, Nov 15, 2025 at 1:16 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Fri, Nov 14, 2025 at 9:33 AM Christian Loehle
> <christian.loehle@arm.com> wrote:
> >
> > On 11/14/25 04:05, Reka Norman wrote:
> > > On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> > >>
> > >> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> > >>> On 11/12/25 18:33, Christian Loehle wrote:
> > >>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
> > >>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> > >>>>> <christian.loehle@arm.com> wrote:
> > >>>>>>
> > >>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> > >>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> > >>>>>>> <christian.loehle@arm.com> wrote:
> > >>>>>>>>
> > >>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> > >>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> > >>>>>>>>> <christian.loehle@arm.com> wrote:
> > >>>>>>>>>>
> > >>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> > >>>>>>>
> > >>>>>>> [...]
> > >>>>>>>
> > >>>>>>>>>>> I see two issues:
> > >>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> > >>>>>>>>>
> > >>>>>>>>> This shouldn't be a problem.
> > >>>>>>>>
> > >>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> > >>>>>>>> never been an issue.
> > >>>>>>>
> > >>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
> > >>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> > >>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> > >>>>>>>>>>> have been a really good candidate actually).
> > >>>>>>>>>
> > >>>>>>>>> Well, it would exclude the state if the sum of hits for the states
> > >>>>>>>>> below it is large enough.  This is questionable (because why would
> > >>>>>>>>> hits matter here), but I attempted to make the change below and
> > >>>>>>>>> somebody reported a regression IIRC.
> > >>>>>>>>>
> > >>>>>>>>> This check is related to the problem at hand though (see below).
> > >>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> > >>>>>>>>>>> (the documentation/comments would need adapting too, of course)
> > >>>>>>>>>>>
> > >>>>>>>>>>> -----8<-----
> > >>>>>>>>>>>
> > >>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > >>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> > >>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> > >>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> > >>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> > >>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> > >>>>>>>>>>>          * better choice.
> > >>>>>>>>>>>          */
> > >>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> > >>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> > >>>>>>>>>>>                 int first_suitable_idx = idx;
> > >>>>>>>>>>>
> > >>>>>>>>>>>                 /*
> > >>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> > >>>>>>>>>> Maybe something like this, again lightly tested:
> > >>>>>>>>>>
> > >>>>>>>>>> -----8<-----
> > >>>>>>>>>>
> > >>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> > >>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> > >>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> > >>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> > >>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> > >>>>>>>>>>                  * has been stopped already into account.
> > >>>>>>>>>>                  */
> > >>>>>>>>>>                 intercept_sum = 0;
> > >>>>>>>>>> +               hit_sum = 0;
> > >>>>>>>>>>
> > >>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> > >>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> > >>>>>>>>>>
> > >>>>>>>>>>                         intercept_sum += bin->intercepts;
> > >>>>>>>>>> +                       hit_sum += bin->hits;
> > >>>>>>>>>>
> > >>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> > >>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> > >>>>>>>>>>                                 /*
> > >>>>>>>>>>                                  * Use the current state unless it is too
> > >>>>>>>>>>                                  * shallow or disabled, in which case take the
> > >>>>>>>>>
> > >>>>>>>>> This will only matter after the deepest state has been rejected
> > >>>>>>>>> already and on the system in question this means selecting state 0 no
> > >>>>>>>>> matter what.
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>> Ah, right!
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> > >>>>>>>>>
> > >>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> > >>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> > >>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> > >>>>>>>>> deepest state (and it will contribute to the total sum in the check
> > >>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> > >>>>>>>>> enough and the deepest state will become the candidate one.  If
> > >>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> > >>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> > >>>>>>>>> ensues.
> > >>>>>>>>
> > >>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> > >>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
> > >>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> > >>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
> > >>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> > >>>>>>>> intercept logic.
> > >>>>>>>
> > >>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
> > >>>>>>> wakeups and timer wakeups.
> > >>>>>>>
> > >>>>>>> I actually think that tick wakeups can be counted as hits on the
> > >>>>>>> deepest available state - maybe only when tick wakeups dominate the
> > >>>>>>> wakeup pattern - but generally this is not unreasonable: When the
> > >>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> > >>>>>>> enough reason to stop the tick.
> > >>>>>>
> > >>>>>> (assuming HZ=1000 below but it doesn't matter)
> > >>>>>> That will exclude any 'intercept' logic from having much effect if the
> > >>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> > >>>>>> off from state1 residency, like in Reka's case here.
> > >>>>>> That's why I thought it would cause unreasonable regressions here.
> > >>>>>> I'll give it a go as well though!
> > >>>>>
> > >>>>> Thanks!
> > >>>>>
> > >>>>> Note that I'd prefer to add a check if tick wakeups dominate the
> > >>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> > >>>>> I'd first like to know how the Reka's system reacts to the more
> > >>>>> drastic variant of this change.
> > >>>>
> > >>>> Below are my usual tests, it's definitely visible but the impact is limited
> > >>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> > >>>> the "tick wakeup dominate" it should be acceptable!
> > >>>> Let's see what Reka reports.
> > >>>>
> > >>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> > >>> / low frequent wakeup scenario) the impact becomes clearly visible.
> > >>> Still hopeful that the more conservative approach will be acceptable!
> > >>
> > >> Speaking of which, the patch to test is appended below, but it doesn't apply
> > >> directly on top of the mainline.  It is based on some other patches that have
> > >> been posted recently, so here's a git branch with all of the requisite
> > >> material:
> > >>
> > >> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> > >>
> > >> Reka, please try this one and let us know how it goes.
> > >
> > > Results attached. The residencies are a bit less deep than before -
> > > about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> > > I’m guessing that’s expected.
> > >
> > > I also measured the power on a slightly different system where I first
> > > noticed this regression, and it’s indistinguishable from 6.6. So from
> > > my side this looks great, thank you!
> >
> > Good news!
>
> So I'm going to queue this up for 6.19 along with the material it depends on.
>
> I'd rather not rush it into 6.18-rc7 because it would not get
> meaningful exposure in linux-next before appearing in the mainline in
> that case.
>
> Reka, I'm going to add your Tested-by: to it, please let me know if
> there are any concerns regarding that.

No concerns, thank you.

And thanks a lot to both of you for the quick investigation and fix,
it’s really appreciated!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-17  5:14                                               ` Reka Norman
@ 2025-11-17  8:45                                                 ` Christian Loehle
  2025-11-17 16:29                                                   ` Rafael J. Wysocki
  2025-11-18  0:19                                                   ` Reka Norman
  0 siblings, 2 replies; 48+ messages in thread
From: Christian Loehle @ 2025-11-17  8:45 UTC (permalink / raw)
  To: Reka Norman; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

On 11/17/25 05:14, Reka Norman wrote:
> On Fri, Nov 14, 2025 at 7:33 PM Christian Loehle
> <christian.loehle@arm.com> wrote:
>>
>> On 11/14/25 04:05, Reka Norman wrote:
>>> On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>>>>
>>>> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
>>>>> On 11/12/25 18:33, Christian Loehle wrote:
>>>>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
>>>>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>
>>>>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
>>>>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>
>>>>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
>>>>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
>>>>>>>>>>> <christian.loehle@arm.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
>>>>>>>>>
>>>>>>>>> [...]
>>>>>>>>>
>>>>>>>>>>>>> I see two issues:
>>>>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
>>>>>>>>>>>
>>>>>>>>>>> This shouldn't be a problem.
>>>>>>>>>>
>>>>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
>>>>>>>>>> never been an issue.
>>>>>>>>>
>>>>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
>>>>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
>>>>>>>>>>>>> have been a really good candidate actually).
>>>>>>>>>>>
>>>>>>>>>>> Well, it would exclude the state if the sum of hits for the states
>>>>>>>>>>> below it is large enough.  This is questionable (because why would
>>>>>>>>>>> hits matter here), but I attempted to make the change below and
>>>>>>>>>>> somebody reported a regression IIRC.
>>>>>>>>>>>
>>>>>>>>>>> This check is related to the problem at hand though (see below).
>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
>>>>>>>>>>>>> (the documentation/comments would need adapting too, of course)
>>>>>>>>>>>>>
>>>>>>>>>>>>> -----8<-----
>>>>>>>>>>>>>
>>>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
>>>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
>>>>>>>>>>>>>          * better choice.
>>>>>>>>>>>>>          */
>>>>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
>>>>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
>>>>>>>>>>>>>                 int first_suitable_idx = idx;
>>>>>>>>>>>>>
>>>>>>>>>>>>>                 /*
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
>>>>>>>>>>>> Maybe something like this, again lightly tested:
>>>>>>>>>>>>
>>>>>>>>>>>> -----8<-----
>>>>>>>>>>>>
>>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
>>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
>>>>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
>>>>>>>>>>>>                  * has been stopped already into account.
>>>>>>>>>>>>                  */
>>>>>>>>>>>>                 intercept_sum = 0;
>>>>>>>>>>>> +               hit_sum = 0;
>>>>>>>>>>>>
>>>>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
>>>>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
>>>>>>>>>>>>
>>>>>>>>>>>>                         intercept_sum += bin->intercepts;
>>>>>>>>>>>> +                       hit_sum += bin->hits;
>>>>>>>>>>>>
>>>>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
>>>>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
>>>>>>>>>>>>                                 /*
>>>>>>>>>>>>                                  * Use the current state unless it is too
>>>>>>>>>>>>                                  * shallow or disabled, in which case take the
>>>>>>>>>>>
>>>>>>>>>>> This will only matter after the deepest state has been rejected
>>>>>>>>>>> already and on the system in question this means selecting state 0 no
>>>>>>>>>>> matter what.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Ah, right!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
>>>>>>>>>>>
>>>>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
>>>>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
>>>>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
>>>>>>>>>>> deepest state (and it will contribute to the total sum in the check
>>>>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
>>>>>>>>>>> enough and the deepest state will become the candidate one.  If
>>>>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
>>>>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
>>>>>>>>>>> ensues.
>>>>>>>>>>
>>>>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
>>>>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
>>>>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
>>>>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
>>>>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
>>>>>>>>>> intercept logic.
>>>>>>>>>
>>>>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
>>>>>>>>> wakeups and timer wakeups.
>>>>>>>>>
>>>>>>>>> I actually think that tick wakeups can be counted as hits on the
>>>>>>>>> deepest available state - maybe only when tick wakeups dominate the
>>>>>>>>> wakeup pattern - but generally this is not unreasonable: When the
>>>>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
>>>>>>>>> enough reason to stop the tick.
>>>>>>>>
>>>>>>>> (assuming HZ=1000 below but it doesn't matter)
>>>>>>>> That will exclude any 'intercept' logic from having much effect if the
>>>>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
>>>>>>>> off from state1 residency, like in Reka's case here.
>>>>>>>> That's why I thought it would cause unreasonable regressions here.
>>>>>>>> I'll give it a go as well though!
>>>>>>>
>>>>>>> Thanks!
>>>>>>>
>>>>>>> Note that I'd prefer to add a check if tick wakeups dominate the
>>>>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
>>>>>>> I'd first like to know how the Reka's system reacts to the more
>>>>>>> drastic variant of this change.
>>>>>>
>>>>>> Below are my usual tests, it's definitely visible but the impact is limited
>>>>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
>>>>>> the "tick wakeup dominate" it should be acceptable!
>>>>>> Let's see what Reka reports.
>>>>>>
>>>>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
>>>>> / low frequent wakeup scenario) the impact becomes clearly visible.
>>>>> Still hopeful that the more conservative approach will be acceptable!
>>>>
>>>> Speaking of which, the patch to test is appended below, but it doesn't apply
>>>> directly on top of the mainline.  It is based on some other patches that have
>>>> been posted recently, so here's a git branch with all of the requisite
>>>> material:
>>>>
>>>> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
>>>>
>>>> Reka, please try this one and let us know how it goes.
>>>
>>> Results attached. The residencies are a bit less deep than before -
>>> about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
>>> I’m guessing that’s expected.
>>>
>>> I also measured the power on a slightly different system where I first
>>> noticed this regression, and it’s indistinguishable from 6.6. So from
>>> my side this looks great, thank you!
>>
>> Good news!
>> For completeness:
>>
>> Per-Cluster deltas: BIG
>>
>> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
>> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
>> +=========+=======+==============+============+=========+========+========+=========+========+=========+
>> | BIG     |     0 | WFI          | 957,853    |   2.99% | 2,537  | 0      |   0.00% | 0      |   0.00% |
>> | BIG     |     1 | cpuoff-b     | 163,636    |   0.51% | 21     | 18     |  85.71% | 3      |  14.29% |
>> | BIG     |     2 | clusteroff-b | 30,918,285 |  96.50% | 501    | 128    |  25.55% | 0      |   0.00% |
>> | BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
>> | BIG     | TOTAL |              | 32,039,774 | 100.00% | 3,059  | 146    |   4.77% | 3      |   0.10% |
>> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
>>
>> Per-Cluster deltas: LITTLE
>>
>> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
>> | cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
>> +=========+=======+==============+=============+=========+========+========+=========+========+=========+
>> | LITTLE  |     0 | WFI          | 8,424,141   |   6.63% | 16,629 | 0      |   0.00% | 0      |   0.00% |
>> | LITTLE  |     1 | cpuoff-l     | 11,121,561  |   8.75% | 485    | 96     |  19.79% | 388    |  80.00% |
>> | LITTLE  |     2 | clusteroff-l | 107,499,073 |  84.62% | 2,705  | 1,001  |  37.01% | 0      |   0.00% |
>> | LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
>> | LITTLE  | TOTAL |              | 127,044,775 | 100.00% | 19,819 | 1,097  |   5.54% | 388    |   1.96% |
>> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
>>
>> Per-Cluster deltas: MID
>>
>> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
>> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
>> +=========+=======+==============+============+=========+========+========+=========+========+=========+
>> | MID     |     0 | WFI          | 2,593,501  |   2.72% | 7,278  | 0      |   0.00% | 0      |   0.00% |
>> | MID     |     1 | cpuoff-m     | 188,793    |   0.20% | 51     | 48     |  94.12% | 3      |   5.88% |
>> | MID     |     2 | clusteroff-m | 92,616,252 |  97.08% | 605    | 257    |  42.48% | 0      |   0.00% |
>> | MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
>> | MID     | TOTAL |              | 95,398,546 | 100.00% | 7,934  | 305    |   3.84% | 3      |   0.04% |
>> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
>>
>> Out of curiosity:
>> Do you know if the platform respects cpuoff / clusteroff distinction
>> properly? Is the power difference measurable?
> 
> No, I’m not really familiar with the details myself. I’ll check if
> others know more. I did a quick test with disabling cpuoff on all
> cores, then disabling clusteroff on all cores. The power does seem to
> be slightly higher with clusteroff disabled, but the difference is
> barely above the noise level so I’m not certain.
> 
>> There really is no reason for cpuidle to not autopromote them, if there's no latency
>> requirement that would prevent that.
>> Especially for the big cluster (just one CPU).
> 
> For my understanding, could you explain a bit more what you mean? It’s
> already spending a lot less time in cpuoff than clusteroff. Would you
> expect to see even less time in cpuoff (and 0 for the big core)?

So the clusteroff states for psci in PC mode are exposed per-CPU, like here, but
since it (usually) refers to powering down the voltage rail of that cluster it
requires all CPUs of that cluster to be in the clusteroff state to actually be
entered (kernel is unaware of what state actually happened, only which one it requested).
What's special about your platform though:
The target residency (How long do I need to be in this state for the entering+exiting
to pay off energy-wise) of cpuoff and clusteroff is equal. Therefore if you don't
care about the wakeup latency, clusteroff should be the strictly better choice from a
governor perspective (If a cluster can't be powered off because >=1 CPUs aren't in
clusteroff, the clusteroff-selected CPUs will still go cpuoff).
Additionally the big CPU is (I'm assuming) alone on a cluster, therefore if it doesn't
need the latency requirement it should never go cpuoff, always (actual) clusteroff.

The fact that teo still selects cpuoff is due to much of the logic working on per-state
bins. It's rather an artifact than intended behaviour.
If you wanna experiment you might wanna try running this platform with all cpuoff states
removed.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-17  8:45                                                 ` Christian Loehle
@ 2025-11-17 16:29                                                   ` Rafael J. Wysocki
  2025-11-18  0:19                                                   ` Reka Norman
  1 sibling, 0 replies; 48+ messages in thread
From: Rafael J. Wysocki @ 2025-11-17 16:29 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Reka Norman, Rafael J. Wysocki, daniel.lezcano, linux-pm

On Mon, Nov 17, 2025 at 9:45 AM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/17/25 05:14, Reka Norman wrote:
> > On Fri, Nov 14, 2025 at 7:33 PM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/14/25 04:05, Reka Norman wrote:
> >>> On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>>>
> >>>> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> >>>>> On 11/12/25 18:33, Christian Loehle wrote:
> >>>>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
> >>>>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> >>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>
> >>>>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> >>>>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> >>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> >>>>>>>>>
> >>>>>>>>> [...]
> >>>>>>>>>
> >>>>>>>>>>>>> I see two issues:
> >>>>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>>>>>>>>
> >>>>>>>>>>> This shouldn't be a problem.
> >>>>>>>>>>
> >>>>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>>>>>>>>> never been an issue.
> >>>>>>>>>
> >>>>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
> >>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>>>>>>>>> have been a really good candidate actually).
> >>>>>>>>>>>
> >>>>>>>>>>> Well, it would exclude the state if the sum of hits for the states
> >>>>>>>>>>> below it is large enough.  This is questionable (because why would
> >>>>>>>>>>> hits matter here), but I attempted to make the change below and
> >>>>>>>>>>> somebody reported a regression IIRC.
> >>>>>>>>>>>
> >>>>>>>>>>> This check is related to the problem at hand though (see below).
> >>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>>>>>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> -----8<-----
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>>>>>>>>          * better choice.
> >>>>>>>>>>>>>          */
> >>>>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>>>>>>>>                 int first_suitable_idx = idx;
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>                 /*
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>>>>>>>>> Maybe something like this, again lightly tested:
> >>>>>>>>>>>>
> >>>>>>>>>>>> -----8<-----
> >>>>>>>>>>>>
> >>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>>                  * has been stopped already into account.
> >>>>>>>>>>>>                  */
> >>>>>>>>>>>>                 intercept_sum = 0;
> >>>>>>>>>>>> +               hit_sum = 0;
> >>>>>>>>>>>>
> >>>>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>>>>>>>>
> >>>>>>>>>>>>                         intercept_sum += bin->intercepts;
> >>>>>>>>>>>> +                       hit_sum += bin->hits;
> >>>>>>>>>>>>
> >>>>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>>>>>>>>                                 /*
> >>>>>>>>>>>>                                  * Use the current state unless it is too
> >>>>>>>>>>>>                                  * shallow or disabled, in which case take the
> >>>>>>>>>>>
> >>>>>>>>>>> This will only matter after the deepest state has been rejected
> >>>>>>>>>>> already and on the system in question this means selecting state 0 no
> >>>>>>>>>>> matter what.
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Ah, right!
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>>>>>>>>
> >>>>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>>>>>>>>> deepest state (and it will contribute to the total sum in the check
> >>>>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>>>>>>>>> enough and the deepest state will become the candidate one.  If
> >>>>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>>>>>>>>> ensues.
> >>>>>>>>>>
> >>>>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>>>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
> >>>>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>>>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
> >>>>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>>>>>>>>> intercept logic.
> >>>>>>>>>
> >>>>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
> >>>>>>>>> wakeups and timer wakeups.
> >>>>>>>>>
> >>>>>>>>> I actually think that tick wakeups can be counted as hits on the
> >>>>>>>>> deepest available state - maybe only when tick wakeups dominate the
> >>>>>>>>> wakeup pattern - but generally this is not unreasonable: When the
> >>>>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> >>>>>>>>> enough reason to stop the tick.
> >>>>>>>>
> >>>>>>>> (assuming HZ=1000 below but it doesn't matter)
> >>>>>>>> That will exclude any 'intercept' logic from having much effect if the
> >>>>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> >>>>>>>> off from state1 residency, like in Reka's case here.
> >>>>>>>> That's why I thought it would cause unreasonable regressions here.
> >>>>>>>> I'll give it a go as well though!
> >>>>>>>
> >>>>>>> Thanks!
> >>>>>>>
> >>>>>>> Note that I'd prefer to add a check if tick wakeups dominate the
> >>>>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> >>>>>>> I'd first like to know how the Reka's system reacts to the more
> >>>>>>> drastic variant of this change.
> >>>>>>
> >>>>>> Below are my usual tests, it's definitely visible but the impact is limited
> >>>>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> >>>>>> the "tick wakeup dominate" it should be acceptable!
> >>>>>> Let's see what Reka reports.
> >>>>>>
> >>>>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> >>>>> / low frequent wakeup scenario) the impact becomes clearly visible.
> >>>>> Still hopeful that the more conservative approach will be acceptable!
> >>>>
> >>>> Speaking of which, the patch to test is appended below, but it doesn't apply
> >>>> directly on top of the mainline.  It is based on some other patches that have
> >>>> been posted recently, so here's a git branch with all of the requisite
> >>>> material:
> >>>>
> >>>> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> >>>>
> >>>> Reka, please try this one and let us know how it goes.
> >>>
> >>> Results attached. The residencies are a bit less deep than before -
> >>> about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> >>> I’m guessing that’s expected.
> >>>
> >>> I also measured the power on a slightly different system where I first
> >>> noticed this regression, and it’s indistinguishable from 6.6. So from
> >>> my side this looks great, thank you!
> >>
> >> Good news!
> >> For completeness:
> >>
> >> Per-Cluster deltas: BIG
> >>
> >> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> >> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> >> +=========+=======+==============+============+=========+========+========+=========+========+=========+
> >> | BIG     |     0 | WFI          | 957,853    |   2.99% | 2,537  | 0      |   0.00% | 0      |   0.00% |
> >> | BIG     |     1 | cpuoff-b     | 163,636    |   0.51% | 21     | 18     |  85.71% | 3      |  14.29% |
> >> | BIG     |     2 | clusteroff-b | 30,918,285 |  96.50% | 501    | 128    |  25.55% | 0      |   0.00% |
> >> | BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> >> | BIG     | TOTAL |              | 32,039,774 | 100.00% | 3,059  | 146    |   4.77% | 3      |   0.10% |
> >> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> >>
> >> Per-Cluster deltas: LITTLE
> >>
> >> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
> >> | cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> >> +=========+=======+==============+=============+=========+========+========+=========+========+=========+
> >> | LITTLE  |     0 | WFI          | 8,424,141   |   6.63% | 16,629 | 0      |   0.00% | 0      |   0.00% |
> >> | LITTLE  |     1 | cpuoff-l     | 11,121,561  |   8.75% | 485    | 96     |  19.79% | 388    |  80.00% |
> >> | LITTLE  |     2 | clusteroff-l | 107,499,073 |  84.62% | 2,705  | 1,001  |  37.01% | 0      |   0.00% |
> >> | LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> >> | LITTLE  | TOTAL |              | 127,044,775 | 100.00% | 19,819 | 1,097  |   5.54% | 388    |   1.96% |
> >> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
> >>
> >> Per-Cluster deltas: MID
> >>
> >> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> >> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> >> +=========+=======+==============+============+=========+========+========+=========+========+=========+
> >> | MID     |     0 | WFI          | 2,593,501  |   2.72% | 7,278  | 0      |   0.00% | 0      |   0.00% |
> >> | MID     |     1 | cpuoff-m     | 188,793    |   0.20% | 51     | 48     |  94.12% | 3      |   5.88% |
> >> | MID     |     2 | clusteroff-m | 92,616,252 |  97.08% | 605    | 257    |  42.48% | 0      |   0.00% |
> >> | MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> >> | MID     | TOTAL |              | 95,398,546 | 100.00% | 7,934  | 305    |   3.84% | 3      |   0.04% |
> >> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> >>
> >> Out of curiosity:
> >> Do you know if the platform respects cpuoff / clusteroff distinction
> >> properly? Is the power difference measurable?
> >
> > No, I’m not really familiar with the details myself. I’ll check if
> > others know more. I did a quick test with disabling cpuoff on all
> > cores, then disabling clusteroff on all cores. The power does seem to
> > be slightly higher with clusteroff disabled, but the difference is
> > barely above the noise level so I’m not certain.
> >
> >> There really is no reason for cpuidle to not autopromote them, if there's no latency
> >> requirement that would prevent that.
> >> Especially for the big cluster (just one CPU).
> >
> > For my understanding, could you explain a bit more what you mean? It’s
> > already spending a lot less time in cpuoff than clusteroff. Would you
> > expect to see even less time in cpuoff (and 0 for the big core)?
>
> So the clusteroff states for psci in PC mode are exposed per-CPU, like here, but
> since it (usually) refers to powering down the voltage rail of that cluster it
> requires all CPUs of that cluster to be in the clusteroff state to actually be
> entered (kernel is unaware of what state actually happened, only which one it requested).
> What's special about your platform though:
> The target residency (How long do I need to be in this state for the entering+exiting
> to pay off energy-wise) of cpuoff and clusteroff is equal. Therefore if you don't
> care about the wakeup latency, clusteroff should be the strictly better choice from a
> governor perspective (If a cluster can't be powered off because >=1 CPUs aren't in
> clusteroff, the clusteroff-selected CPUs will still go cpuoff).
> Additionally the big CPU is (I'm assuming) alone on a cluster, therefore if it doesn't
> need the latency requirement it should never go cpuoff, always (actual) clusteroff.
>
> The fact that teo still selects cpuoff is due to much of the logic working on per-state
> bins. It's rather an artifact than intended behaviour.

I think what happens is that in teo_select(), the main check for the
deepest enabled state selection is false, but the tick has been
stopped, so the governor selects the previous deepest state that
happens to have the same target residency.

It looks like a check against the target residency of the deepest
state should be added there, but I'd prefer to do it on top of
https://lore.kernel.org/linux-pm/2418792.ElGaqSPkdT@rafael.j.wysocki/.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups
  2025-11-17  8:45                                                 ` Christian Loehle
  2025-11-17 16:29                                                   ` Rafael J. Wysocki
@ 2025-11-18  0:19                                                   ` Reka Norman
  1 sibling, 0 replies; 48+ messages in thread
From: Reka Norman @ 2025-11-18  0:19 UTC (permalink / raw)
  To: Christian Loehle; +Cc: Rafael J. Wysocki, daniel.lezcano, linux-pm

On Mon, Nov 17, 2025 at 7:45 PM Christian Loehle
<christian.loehle@arm.com> wrote:
>
> On 11/17/25 05:14, Reka Norman wrote:
> > On Fri, Nov 14, 2025 at 7:33 PM Christian Loehle
> > <christian.loehle@arm.com> wrote:
> >>
> >> On 11/14/25 04:05, Reka Norman wrote:
> >>> On Fri, Nov 14, 2025 at 3:56 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >>>>
> >>>> On Thursday, November 13, 2025 4:43:18 PM CET Christian Loehle wrote:
> >>>>> On 11/12/25 18:33, Christian Loehle wrote:
> >>>>>> On 11/12/25 14:16, Rafael J. Wysocki wrote:
> >>>>>>> On Wed, Nov 12, 2025 at 3:03 PM Christian Loehle
> >>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>
> >>>>>>>> On 11/12/25 13:32, Rafael J. Wysocki wrote:
> >>>>>>>>> On Tue, Nov 11, 2025 at 6:20 PM Christian Loehle
> >>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>> On 11/11/25 11:48, Rafael J. Wysocki wrote:
> >>>>>>>>>>> On Tue, Nov 11, 2025 at 11:48 AM Christian Loehle
> >>>>>>>>>>> <christian.loehle@arm.com> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>> On 11/11/25 10:00, Christian Loehle wrote:
> >>>>>>>>>
> >>>>>>>>> [...]
> >>>>>>>>>
> >>>>>>>>>>>>> I see two issues:
> >>>>>>>>>>>>> 1) Because of DECAY_SHIFT 3 values < 8 cannot decay (I guess this wouldn't really be an issue without 2))
> >>>>>>>>>>>
> >>>>>>>>>>> This shouldn't be a problem.
> >>>>>>>>>>
> >>>>>>>>>> Agreed, it should be a non-issue. Nonetheless if this wasn't the case $subject would've likely
> >>>>>>>>>> never been an issue.
> >>>>>>>>>
> >>>>>>>>> Well, I think that the leftovers can be cleared when they become less than 8.
> >>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>> 2) if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) isn't an appropriate check, it will
> >>>>>>>>>>>>> exclude the state if it its idx_hit_sum make up the vast majority of cpu_data->total (i.e. it would
> >>>>>>>>>>>>> have been a really good candidate actually).
> >>>>>>>>>>>
> >>>>>>>>>>> Well, it would exclude the state if the sum of hits for the states
> >>>>>>>>>>> below it is large enough.  This is questionable (because why would
> >>>>>>>>>>> hits matter here), but I attempted to make the change below and
> >>>>>>>>>>> somebody reported a regression IIRC.
> >>>>>>>>>>>
> >>>>>>>>>>> This check is related to the problem at hand though (see below).
> >>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I lightly tested the below, it seems to be at least comparable to mainline teo.
> >>>>>>>>>>>>> (the documentation/comments would need adapting too, of course)
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> -----8<-----
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> index bfa55c1eab5b..f8f76e3b8364 100644
> >>>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>>> @@ -355,7 +355,7 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>>>          * all of the deeper states, a shallower idle state is likely to be a
> >>>>>>>>>>>>>          * better choice.
> >>>>>>>>>>>>>          */
> >>>>>>>>>>>>> -       if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> >>>>>>>>>>>>> +       if (2 * idx_intercept_sum > idx_hit_sum) {
> >>>>>>>>>>>>>                 int first_suitable_idx = idx;
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>                 /*
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> ... nevermind the patch, idx_hit_sum is of course the sum of 0...idx-1.
> >>>>>>>>>>>> Maybe something like this, again lightly tested:
> >>>>>>>>>>>>
> >>>>>>>>>>>> -----8<-----
> >>>>>>>>>>>>
> >>>>>>>>>>>> diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> index 173ddcac540a..6bfb9cedb75e 100644
> >>>>>>>>>>>> --- a/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> +++ b/drivers/cpuidle/governors/teo.c
> >>>>>>>>>>>> @@ -383,13 +395,15 @@ static int teo_select(struct cpuidle_driver *drv, struct cpuidle_device *dev,
> >>>>>>>>>>>>                  * has been stopped already into account.
> >>>>>>>>>>>>                  */
> >>>>>>>>>>>>                 intercept_sum = 0;
> >>>>>>>>>>>> +               hit_sum = 0;
> >>>>>>>>>>>>
> >>>>>>>>>>>>                 for (i = idx - 1; i >= 0; i--) {
> >>>>>>>>>>>>                         struct teo_bin *bin = &cpu_data->state_bins[i];
> >>>>>>>>>>>>
> >>>>>>>>>>>>                         intercept_sum += bin->intercepts;
> >>>>>>>>>>>> +                       hit_sum += bin->hits;
> >>>>>>>>>>>>
> >>>>>>>>>>>> -                       if (2 * intercept_sum > idx_intercept_sum) {
> >>>>>>>>>>>> +                       if (2 * intercept_sum > cpu_data->total || 2 * hit_sum > cpu_data->total) {
> >>>>>>>>>>>>                                 /*
> >>>>>>>>>>>>                                  * Use the current state unless it is too
> >>>>>>>>>>>>                                  * shallow or disabled, in which case take the
> >>>>>>>>>>>
> >>>>>>>>>>> This will only matter after the deepest state has been rejected
> >>>>>>>>>>> already and on the system in question this means selecting state 0 no
> >>>>>>>>>>> matter what.
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> Ah, right!
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> The pre-6.12 behavior can be explained if tick wakeups are taken into account.
> >>>>>>>>>>>
> >>>>>>>>>>> Namely, when state 0 is chosen (because of the check mentioned above),
> >>>>>>>>>>> the tick is not stopped and the sleep length is KTIME_MAX.  If the
> >>>>>>>>>>> subsequent wakeup is a tick one, it will be counted as a hit on the
> >>>>>>>>>>> deepest state (and it will contribute to the total sum in the check
> >>>>>>>>>>> mentioned above).  Then, at one point, cpu_data->total will be large
> >>>>>>>>>>> enough and the deepest state will become the candidate one.  If
> >>>>>>>>>>> tick_nohz_get_sleep_length() returns a large value at that point, the
> >>>>>>>>>>> tick will be stopped and the deepest state will be entered.  Nirvana
> >>>>>>>>>>> ensues.
> >>>>>>>>>>
> >>>>>>>>>> So fundamentally we will have to count tick-wakeups as a) nothing, which
> >>>>>>>>>> doesn't allow us to ever break out of the intercept logic that caused us
> >>>>>>>>>> to leave the tick on b) intercepts, which is bonkers and doesn't allow us
> >>>>>>>>>> to ever break out and c) hits == sleep_length would've been accurate.
> >>>>>>>>>> Of course counting a tick wakeup as a hit for sleep_length negates the
> >>>>>>>>>> intercept logic.
> >>>>>>>>>
> >>>>>>>>> Not quite.  The intercept logic is there for wakeups other than tick
> >>>>>>>>> wakeups and timer wakeups.
> >>>>>>>>>
> >>>>>>>>> I actually think that tick wakeups can be counted as hits on the
> >>>>>>>>> deepest available state - maybe only when tick wakeups dominate the
> >>>>>>>>> wakeup pattern - but generally this is not unreasonable: When the
> >>>>>>>>> wakeup pattern is dominated by tick wakeups, this by itself is a good
> >>>>>>>>> enough reason to stop the tick.
> >>>>>>>>
> >>>>>>>> (assuming HZ=1000 below but it doesn't matter)
> >>>>>>>> That will exclude any 'intercept' logic from having much effect if the
> >>>>>>>> avg idle duration is >TICK_NSEC/2, which is potentially still quite a bit
> >>>>>>>> off from state1 residency, like in Reka's case here.
> >>>>>>>> That's why I thought it would cause unreasonable regressions here.
> >>>>>>>> I'll give it a go as well though!
> >>>>>>>
> >>>>>>> Thanks!
> >>>>>>>
> >>>>>>> Note that I'd prefer to add a check if tick wakeups dominate the
> >>>>>>> wakeup pattern before setting sleep_length_ns to KTIME_MAX though.
> >>>>>>> I'd first like to know how the Reka's system reacts to the more
> >>>>>>> drastic variant of this change.
> >>>>>>
> >>>>>> Below are my usual tests, it's definitely visible but the impact is limited
> >>>>>> on this platform anyway. I think if we gate the KTIME_MAX setting behind
> >>>>>> the "tick wakeup dominate" it should be acceptable!
> >>>>>> Let's see what Reka reports.
> >>>>>>
> >>>>> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> >>>>> / low frequent wakeup scenario) the impact becomes clearly visible.
> >>>>> Still hopeful that the more conservative approach will be acceptable!
> >>>>
> >>>> Speaking of which, the patch to test is appended below, but it doesn't apply
> >>>> directly on top of the mainline.  It is based on some other patches that have
> >>>> been posted recently, so here's a git branch with all of the requisite
> >>>> material:
> >>>>
> >>>> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git cpuidle-teo-testing
> >>>>
> >>>> Reka, please try this one and let us know how it goes.
> >>>
> >>> Results attached. The residencies are a bit less deep than before -
> >>> about 4.5% in WFI vs 2% at 6.6 or with the more aggressive patch. But
> >>> I’m guessing that’s expected.
> >>>
> >>> I also measured the power on a slightly different system where I first
> >>> noticed this regression, and it’s indistinguishable from 6.6. So from
> >>> my side this looks great, thank you!
> >>
> >> Good news!
> >> For completeness:
> >>
> >> Per-Cluster deltas: BIG
> >>
> >> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> >> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> >> +=========+=======+==============+============+=========+========+========+=========+========+=========+
> >> | BIG     |     0 | WFI          | 957,853    |   2.99% | 2,537  | 0      |   0.00% | 0      |   0.00% |
> >> | BIG     |     1 | cpuoff-b     | 163,636    |   0.51% | 21     | 18     |  85.71% | 3      |  14.29% |
> >> | BIG     |     2 | clusteroff-b | 30,918,285 |  96.50% | 501    | 128    |  25.55% | 0      |   0.00% |
> >> | BIG     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> >> | BIG     | TOTAL |              | 32,039,774 | 100.00% | 3,059  | 146    |   4.77% | 3      |   0.10% |
> >> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> >>
> >> Per-Cluster deltas: LITTLE
> >>
> >> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
> >> | cluster | state | name         | timeΔ       | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> >> +=========+=======+==============+=============+=========+========+========+=========+========+=========+
> >> | LITTLE  |     0 | WFI          | 8,424,141   |   6.63% | 16,629 | 0      |   0.00% | 0      |   0.00% |
> >> | LITTLE  |     1 | cpuoff-l     | 11,121,561  |   8.75% | 485    | 96     |  19.79% | 388    |  80.00% |
> >> | LITTLE  |     2 | clusteroff-l | 107,499,073 |  84.62% | 2,705  | 1,001  |  37.01% | 0      |   0.00% |
> >> | LITTLE  |     3 | s2idle       | 0           |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> >> | LITTLE  | TOTAL |              | 127,044,775 | 100.00% | 19,819 | 1,097  |   5.54% | 388    |   1.96% |
> >> +---------+-------+--------------+-------------+---------+--------+--------+---------+--------+---------+
> >>
> >> Per-Cluster deltas: MID
> >>
> >> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> >> | cluster | state | name         | timeΔ      | time%   | usageΔ | aboveΔ | above%  | belowΔ | below%  |
> >> +=========+=======+==============+============+=========+========+========+=========+========+=========+
> >> | MID     |     0 | WFI          | 2,593,501  |   2.72% | 7,278  | 0      |   0.00% | 0      |   0.00% |
> >> | MID     |     1 | cpuoff-m     | 188,793    |   0.20% | 51     | 48     |  94.12% | 3      |   5.88% |
> >> | MID     |     2 | clusteroff-m | 92,616,252 |  97.08% | 605    | 257    |  42.48% | 0      |   0.00% |
> >> | MID     |     3 | s2idle       | 0          |   0.00% | 0      | 0      |   0.00% | 0      |   0.00% |
> >> | MID     | TOTAL |              | 95,398,546 | 100.00% | 7,934  | 305    |   3.84% | 3      |   0.04% |
> >> +---------+-------+--------------+------------+---------+--------+--------+---------+--------+---------+
> >>
> >> Out of curiosity:
> >> Do you know if the platform respects cpuoff / clusteroff distinction
> >> properly? Is the power difference measurable?
> >
> > No, I’m not really familiar with the details myself. I’ll check if
> > others know more. I did a quick test with disabling cpuoff on all
> > cores, then disabling clusteroff on all cores. The power does seem to
> > be slightly higher with clusteroff disabled, but the difference is
> > barely above the noise level so I’m not certain.
> >
> >> There really is no reason for cpuidle to not autopromote them, if there's no latency
> >> requirement that would prevent that.
> >> Especially for the big cluster (just one CPU).
> >
> > For my understanding, could you explain a bit more what you mean? It’s
> > already spending a lot less time in cpuoff than clusteroff. Would you
> > expect to see even less time in cpuoff (and 0 for the big core)?
>
> So the clusteroff states for psci in PC mode are exposed per-CPU, like here, but
> since it (usually) refers to powering down the voltage rail of that cluster it
> requires all CPUs of that cluster to be in the clusteroff state to actually be
> entered (kernel is unaware of what state actually happened, only which one it requested).
> What's special about your platform though:
> The target residency (How long do I need to be in this state for the entering+exiting
> to pay off energy-wise) of cpuoff and clusteroff is equal. Therefore if you don't
> care about the wakeup latency, clusteroff should be the strictly better choice from a
> governor perspective (If a cluster can't be powered off because >=1 CPUs aren't in
> clusteroff, the clusteroff-selected CPUs will still go cpuoff).
> Additionally the big CPU is (I'm assuming) alone on a cluster, therefore if it doesn't
> need the latency requirement it should never go cpuoff, always (actual) clusteroff.
>
> The fact that teo still selects cpuoff is due to much of the logic working on per-state
> bins. It's rather an artifact than intended behaviour.
> If you wanna experiment you might wanna try running this platform with all cpuoff states
> removed.

Thanks for the explanation, that all makes sense. FWIW, a colleague
shared that in their experience the power difference between cpuoff
and clusteroff is measurable, at least for the middle cores. So I’ll
try experimenting with that. Thanks!

^ permalink raw reply	[flat|nested] 48+ messages in thread

* RE: Regression in TEO cpuidle governor between 6.6 and 6.12
  2025-11-13 15:43                                       ` Christian Loehle
  2025-11-13 16:56                                         ` [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups Rafael J. Wysocki
@ 2025-11-19 22:43                                         ` Doug Smythies
  1 sibling, 0 replies; 48+ messages in thread
From: Doug Smythies @ 2025-11-19 22:43 UTC (permalink / raw)
  To: 'Christian Loehle'
  Cc: 'Reka Norman', daniel.lezcano, linux-pm, Doug Smythies,
	'Rafael J. Wysocki'

Hi Christian,

This email is about testing as opposed to about the subject and patches.
Specifically, the " adrestia" test.

On 2025.11.13 07:43 Christian wrote:
...
> Forgot to post the full results, anyway as expected with mtdblock (a very slow
> / low frequent wakeup scenario) the impact becomes clearly visible.
> Still hopeful that the more conservative approach will be acceptable!
...
> test       gov        i     score  %change    idles  idle_miss  miss_rt   belows   aboves
...
> adrestia   teo-m      0         8    0     103680         21      0.000         19          2   <<<<
> adrestia   teo-m      1        12   50     104026         31      0.000         16         15
> adrestia   teo-m      2        12   50     104063         32      0.000         24          8
> adrestia   teo-m      3        12   50     104768         44      0.000         22         22
> adrestia   teo-m      4        12   50     104388         18      0.000         16          2

> adrestia   teo-patch  0        12   50     103096         67      0.001         65          2
> adrestia   teo-patch  1        12   50     103128         57      0.001         49          8
> adrestia   teo-patch  2         8    0     102812         78      0.001         72          6    <<<<
> adrestia   teo-patch  3        12   50     102990         60      0.001         55          5
> adrestia   teo-patch  4        12   50     103168         24      0.000         24          0
...

I am curious about the significant variations between iterations for your
adrestia test. And what does "score" mean for this test?

I don't know if we are running the exact same test [1], but my "score" means
wakeup cost (periodic, 20us), and for the 6.18-rc4 kernel is around 2.7 uSec,
independent of the various patches or teo verses menu governors.
My results are very repeatable.
With kernel 6.13 I was getting 3.3 uSec, but I suspect the differences
have more to do with other kernel changes than any idle governor changes.

My typical testing command line is:

./adrestia -a 20 -l 2000000 -t 500 wakeup-periodic

Where:
-a      arrival time (microseconds) << Only used for periodic test, sleep time. Actually arrival rate.
-l      number of loops
-L      list tests  << wakeup-periodic and wakeup-single
-s      service time (microseconds) << This has not been implemented.
-t      thread count

Those run parameters give a reasonable amount of idle time using
both idle states 0 and 1.

[1] It is likely we are not running the exact same test, since I converted the
source code I use from uSec to nSec. Notes to myself from a couple of
years ago suggest that I am using the version from [2] and that the version
from [3] does not compile (at least for me).

[2] https://github.com/notcarbide/adrestia
[3] https://github.com/mfleming/adrestia

... Doug



^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2025-11-19 22:43 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-04  3:36 Regression in TEO cpuidle governor between 6.6 and 6.12 Reka Norman
2025-11-04  9:03 ` Christian Loehle
2025-11-04 23:24   ` Christian Loehle
2025-11-05  6:22     ` Reka Norman
2025-11-05 22:47       ` Christian Loehle
2025-11-06 15:21         ` Rafael J. Wysocki
2025-11-05 20:48     ` Rafael J. Wysocki
2025-11-06 11:13       ` Christian Loehle
2025-11-06 20:33         ` Rafael J. Wysocki
2025-11-07  3:28           ` Reka Norman
2025-11-07 11:35             ` Rafael J. Wysocki
2025-11-09 20:35               ` Christian Loehle
2025-11-10  6:10                 ` Reka Norman
2025-11-10 12:06                   ` Christian Loehle
2025-11-11  4:23                     ` Reka Norman
2025-11-11 10:00                       ` Christian Loehle
2025-11-11 10:48                         ` Christian Loehle
2025-11-11 11:48                           ` Rafael J. Wysocki
2025-11-11 17:20                             ` Christian Loehle
2025-11-12  9:51                               ` Christian Loehle
2025-11-12 13:40                                 ` Rafael J. Wysocki
2025-11-12 14:14                                   ` Christian Loehle
2025-11-12 14:23                                     ` Rafael J. Wysocki
2025-11-12 13:32                               ` Rafael J. Wysocki
2025-11-12 14:03                                 ` Christian Loehle
2025-11-12 14:16                                   ` Rafael J. Wysocki
2025-11-12 18:33                                     ` Christian Loehle
2025-11-13 15:43                                       ` Christian Loehle
2025-11-13 16:56                                         ` [PATCH v1] cpuidle: governors: teo: Rework the handling of tick wakeups Rafael J. Wysocki
2025-11-14  4:05                                           ` Reka Norman
2025-11-14  8:33                                             ` Christian Loehle
2025-11-14 14:15                                               ` Rafael J. Wysocki
2025-11-14 14:49                                                 ` Christian Loehle
2025-11-14 15:13                                                   ` Rafael J. Wysocki
2025-11-17  5:44                                                 ` Reka Norman
2025-11-17  5:14                                               ` Reka Norman
2025-11-17  8:45                                                 ` Christian Loehle
2025-11-17 16:29                                                   ` Rafael J. Wysocki
2025-11-18  0:19                                                   ` Reka Norman
2025-11-14  9:20                                             ` Christian Loehle
2025-11-17  5:41                                               ` Reka Norman
2025-11-14 14:47                                           ` Christian Loehle
2025-11-14 15:12                                             ` Rafael J. Wysocki
2025-11-14 15:33                                               ` Christian Loehle
2025-11-19 22:43                                         ` Regression in TEO cpuidle governor between 6.6 and 6.12 Doug Smythies
2025-11-13  5:13                                 ` Reka Norman
2025-11-13 10:52                                   ` Rafael J. Wysocki
2025-11-10 20:51                   ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).