系统时间有两个概念,Realtime and monotonic time.前者也叫墙上时间,如日期,几点几分。后者是系统从开机到现在的运行时间(boottime),不包括系统进入Idle及Suspend时的sleep time.
Ktime_get():get the monotonic time in ktime_t format.
它的实现也是基于前面文章重提到的宏。
当获取到xtime的数值后,要与tomono变量相加,即加上wall_to_monotonic转化为墙上时间。
wall_to_monotonic是个非常有意思的数,开机时他就是xtime的负数,系统睡眠重会把sleep time加到它身上。
比如系统开机xtime数值为A,则wall_to_monotonic=-A.那么ktime_get()返回0.
系统sleep了b时间,运行了c时间后,此时的xtime数值为:A+b+c,wall_to_monotonic=-(A+b).ktime_get() return c.
阅读(2566) | 评论(0) | 转发(0) |