社区
Linux_Kernel
帖子详情
真心请教Linux kernel进入Suspend问题
唐勉的技术博客
2011-11-10 08:11:12
我想在linux kernel进入suspend之前,应用程序可以做点事情,不知道是否可行?
目前想了一个方法,linux kernel进入suspend之前,好像会有PM_SUSPEND_PREPARE事件,是否可以在这里给上层应用发个消息,然后等待上层应用回复后,再继续执行?
请大家指点,谢谢!
...全文
449
8
打赏
收藏
真心请教Linux kernel进入Suspend问题
我想在linux kernel进入suspend之前,应用程序可以做点事情,不知道是否可行? 目前想了一个方法,linux kernel进入suspend之前,好像会有PM_SUSPEND_PREPARE事件,是否可以在这里给上层应用发个消息,然后等待上层应用回复后,再继续执行? 请大家指点,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
唐勉的技术博客
2011-11-12
打赏
举报
回复
现在WinCE搞得少,Linux搞得多了。顺便说一句,问题已解决,通过向pm_notifier注册函数并响应PM_SUSPEND_PREPARE事件来实现。
lvyinghong
2011-11-11
打赏
举报
回复
看代码内核驱动收到PM_SUSPEND_PREPARE 通知的时候用户进程还没被挂起的。
也许真的是可以在这里个用户进程发信号,等待用户进程把事情,再继续,这通知处理里面是可以block住的,也就是说可以等待用户应用。可以试一下
deep_pro
2011-11-11
打赏
举报
回复
在纯linux,以2.6.36为例,每当linux要进入suspend,会执行
suspend_prepare()->pm_notifier_call_chain(PM_SUSPEND_PREPARE);
这个pm_notifier_call_chain属于内核自定义的内核通知链。所有需要支持SUSPEND的驱动,都会用register_pm_notifier把自己注册到这条通知连上。
这样pm_notifier_call_chain就能把PM_SUSPEND_PREPARE事件通知到每一个驱动。
但是我在pm_notifier_call_chain里没有找到对应用程序有什么统一的通知。所以我觉得你要在suspend_prepare()里对某一个进程发自定义的通知是很容易的,但不能对所有进程都发通知,我想linux本生没有这样的机制。
android对电源管理作了较多修改,这个我不知道。
Wenxy1
2011-11-11
打赏
举报
回复
发送一个信号给应用即可。
需要注意,所有的硬件是否支持suspend和resume。
唐勉的技术博客
2011-11-11
打赏
举报
回复
非常感谢楼上两位的回复,这个功能希望在Linux和Android上面都能支持。内核在suspend之前,好像还会做一些事情,不知道是否由接口留给上层,内核代码是可以修改的。不知道还有其他建议么?
jiahehao
2011-11-11
打赏
举报
回复
可是,我觉得只有线程有suspend,内核是不会suspend的呀。如果你在线程suspend前通知一下用户空间的程序,倒是很容易的。
xqhrs232
2011-11-11
打赏
举报
回复
[Quote=引用楼主 nanjianhui 的回复:]
我想在linux kernel进入suspend之前,应用程序可以做点事情,不知道是否可行?
目前想了一个方法,linux kernel进入suspend之前,好像会有PM_SUSPEND_PREPARE事件,是否可以在这里给上层应用发个消息,然后等待上层应用回复后,再继续执行?
请大家指点,谢谢!
[/Quote]
现在没搞WINCE?怎么去搞LINUX去了?
deep_pro
2011-11-10
打赏
举报
回复
请先明确下是纯linux还是android的哪个版本
如果允许该内核代码的话,这样的功能小意思了
HZFS_1.rar
当 CAD 缺失对应字体时,图纸文字会显示异常,出现乱码、问号。将下载好的字体文件复制到 AutoCAD 的 Fonts 文件夹中,即可恢复正常显示。
施肥播种机 SolidWorks三维.rar
施肥播种机 SolidWorks三维.rar
土豆收获分类机 SolidWorks三维.rar
土豆收获分类机 SolidWorks三维.rar
含多类型电动汽车的微网两阶段优化调度模型研究(Matlab代码实现)
含多类型电动汽车的微网两阶段优化调度模型研究(Matlab代码实现)
自己绘制的图纸打开乱码怎么办?下载应急方案及时解决.rar
一键还原CAD图纸正常字体,告别问号乱码
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章