全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

Wakeup events framework同步问题

时间:2023-09-11 16:17

人气:

作者:admin

标签: 内核  按键 

导读:Wakeup events framework 系统处于 suspend 状态,可通过 wakeup events 唤醒。具体的 wakeup events 可以是按键按下,可以是充电器插入等。但是,如果在 suspend 的过程中,产生了 wakeup events,怎么办?...

Wakeup events framework

系统处于 suspend 状态,可通过 wakeup events 唤醒。具体的 wakeup events 可以是按键按下,可以是充电器插入等。但是,如果在 suspend 的过程中,产生了 wakeup events,怎么办?答案很肯定,“wakeup”系统。由于此时系统没有真正 suspend,所以这的“wakeup”是个假动作,实际上只是终止 suspend。

但由于系统在 suspend 的过程中,会进行 process freeze、 device suspend 等操作,而这些操作可能导致内核或用户空间程序不能及时获取 wakeup events,从而使系统不能正确 wakeup,这就是 wakeup events framework 要解决的问题:system suspend 和 system wakeup events 之间的同步问题。

同步问题包括两种情况:

情况1:内核空间的同步

wakeup events 产生后,通常是以中断的形式通知 device driver。driver 会处理events,处理的过程中,系统不能 suspend。

情况2:用户空间的同步

一般情况下,driver 对 wakeup events 处理后,会交给用户空间程序继续处理,处理的过程,也不允许 suspend。这又可以分为两种情况:

1)进行后续处理的用户进程,根本没有机会被调度,即该 wakeup events 无法上报到用户空间。

2)进行后续处理的用户进程被调度,处理的过程中(以及处理结束后,决定终止 suspend 操作),系统不能 suspend。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信