双击唤醒屏幕慢问题分析

2018-03-31  本文已影响0人  李海洲

近日,项目上遇到一个双击唤醒屏幕慢的问题,借此机会,梳理下唤醒屏幕的流程

这个流程与按power键唤醒基本类似,都是驱动先触发中断,唤醒系统,事件通过input系统上报,上层做一系列响应并最终完成亮屏的过程

关键的几个log时间点如下:


kernel部分

这里可以看到先有power key中断,对应的是睡眠,紧接着CPU关闭,后面屏幕接收到手势事件发生


user部分

耗时约32s左右,上层处理耗时四百多毫秒,上层处理的时间耗时属于正常

上层走的流程没有发现异常,走的流程都是按部就班,耗时也是在合理范围内。
拿到这份日志时发现kernel日志中有一个奇怪的地方01-01 04:09:19到01-01 04:09:51这段时间没有日志输出。
考虑到这里Log对应的是内核中的timer,只有在休眠状态下才会停止输出。按理说中断发生,唤醒系统后Log会正常输出。

猜测这里没有输出日志应该是系统仍处于休眠状态,因为在手势事件发生后,并没有看到CPU立刻起来的日志

该问题后在驱动同事更改中断方法解决,之前的中断方法使用有误不能立刻唤醒系统

上一篇 下一篇

猜你喜欢

热点阅读