Chinaunix首页 | 论坛 | 博客
  • 博客访问: 333011
  • 博文数量: 102
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1146
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-21 22:33
文章分类

全部博文(102)

文章存档

2011年(8)

2010年(94)

我的朋友

分类: LINUX

2010-10-25 00:54:11

系统时间有两个概念,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) |
给主人留下些什么吧!~~