免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3481 | 回复: 0
打印 上一主题 下一主题

hrtimer(高精度时间处理) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-24 23:29 |只看该作者 |倒序浏览
pdf文件下载地址:
http://linux.chinaunix.net/bbs/attachment.php?aid=230790
内核的时间系统,还是比较有意思的.上次写过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().
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/110888/showart_2159412.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP