Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1268500
  • 博文数量: 482
  • 博客积分: 13297
  • 博客等级: 上将
  • 技术积分: 2890
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-12 16:25
文章分类

全部博文(482)

文章存档

2012年(9)

2011年(407)

2010年(66)

分类: LINUX

2012-01-06 14:39:26

系统时间有两个概念,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
 
====
阅读(2483) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~