[问题] suspend机制

楼主: likecyndi   2014-02-27 11:44:19
对于ubuntu以及android而言,在power management这部分
都是base on linux的架构
但是android在这部分加了 1.early_suspend 2.late_resume 3.wake_lock的机制
就目前的认知
系统想要进入suspend的时候,都是看kernel有support那些状态
观察 /sys/power/state底下可得知
所以要进入suspend的时候,只要执行以下command,即可进入
echo 'mem' > /sys/power/state (android)
echo 'standby' > /sys/power/state (pc)
问题有2个
1.在resume回来的时候,android必须改变/sys/power/state的状态,防止再次进入休眠
那pc有实作这部分吗?? 如果有的话 是在哪边执行这部分,因为没找到相关事件
2.在没有任何wakelock的情况下,android 执行echo 'mem' > /sys/power/state 之后
必须等待kernel冻结userspace的行程,userspace才会停下来,所以会再执行个1~2秒
但是以pc来讲,我只要执行echo 'standby' > /sys/power/state,userspace就马上停
止,不知道差异点为何??
楼主: likecyndi   2014-03-10 09:30:00
自问自答一下 问题1:pc并不需要改变这个状态,应该是因为android修改到linux kernel的缘故问题二:是因为early_suspend造成这个影响

Links booklink

Contact Us: admin [ a t ] ucptt.com