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

全部博文(102)

文章存档

2011年(8)

2010年(94)

我的朋友

分类: LINUX

2010-01-24 23:29:34

pdf文件下载地址:


内核的时间系统,还是比较有意思的.上次写过cfs后,便看了hrtimer部分,一直没抽出时间来整理,现在还有一些不太明白的地方,我准备开这个帖子,和大家多聊聊,聊完了,我再做个总结...毕竟,一个人的思维局限性很大,呵呵 

我的理解肯定有许多错误的地方,欢迎大家指正,交流....

今晚只简单说说,我会在后面详细总结出内核时间系统的建立和运行机制,并将学习过程中收集的资料,与大家分享.


1) 采用hrtimer resolution的kernel,在硬件支持的情况下,可以提供精度更高的定时器

2) 没有那么高精度的硬件kernel怎么办呢?  hrtimer 系统会建立一个hrtimer,模拟之前的tick机制..说白了,就是往硬件的timer寄存器写下一个tick的值,模拟出tick中断来.

1)的精度,就是硬件的时钟精度,,软件支持最高是1ns,大约1Ghz就行了...如果比1g还高,我的理解是kernel目前不支持.
也就是说,如果你的hardware support 1ghz,你可以设定一个1ns的定时器....不能再低了.

2)的精度就不一样了,它是hz.在每个hz的处理函数里,会处理那些过期的hrtimer.

1)的处理函数是hrtimer_interrupt(),
我的kernel打开了CONFIG_NOHZ,这样2)的处理函数是tick_nohz_handler().
阅读(2453) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~