Fix kernel wakeup durations
Before this change, atom KERNEL_WAKEUP_REPORTED recorded the uptime from
kernel wake to first partial wakelock started.
With this change, atom KERNEL_WAKEUP_REPORTED records the complete uptime
associated with the kernel wake.
There is significant CPU scheduling delay on WearOS devices due to
CPU starvation (go/wear-metric-problem). This means that a thread hop
can take take a large amount of wall time.
As per b/309610775#comment9, the calls to aggreateWakeupReasonLocked by
noteWakeupReasonLocked and noteStartWakeLocked are racing and potential
scheduling delays can really skew the order.
Test: ./out/host/linux-x86/bin/statsd_testdrive -e 36
Bug: 309610775
Change-Id: I8ec939e00d1535da4bdcd3a1aa0e028424ef97e4
1 file changed