免费注册 查看新帖 |

Chinaunix

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

[时钟管理] 自己制作的Xen DomU 内核 时钟不连续 [复制链接]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-09 21:02 |只看该作者 |倒序浏览
因为有需要,我自己制作了Xen的DomU内核,然后就发现jiffies变量不连续,
按理说jiffies在VM运行时是连续的,但是却不连续,如下图:
[  497.570093] jiffies = 4295164866
[  497.669120] jiffies = 4295164965
[  497.670085] jiffies = 4295164966
[  497.712109] jiffies = 4295165008
[  497.713105] jiffies = 4295165009
[  497.739104] jiffies = 4295165035
[  497.740083] jiffies = 4295165036
[  497.769147] jiffies = 4295165065
[  497.770091] jiffies = 4295165066
[  497.869116] jiffies = 4295165165
[  497.870144] jiffies = 4295165166
[  497.969185] jiffies = 4295165265
[  497.970076] jiffies = 4295165266
[  498.069128] jiffies = 4295165365
[  498.070081] jiffies = 4295165366
[  498.169119] jiffies = 4295165465
[  498.170091] jiffies = 4295165466
[  498.239123] jiffies = 4295165535
[  498.240086] jiffies = 4295165536
[  498.269131] jiffies = 4295165565
[  498.270081] jiffies = 4295165566
[  498.369115] jiffies = 4295165665
[  498.370092] jiffies = 4295165666
[  498.469106] jiffies = 4295165765
[  498.470091] jiffies = 4295165766
[  498.569115] jiffies = 4295165865
[  498.570091] jiffies = 4295165866
[  498.669125] jiffies = 4295165965
[  498.670094] jiffies = 4295165966
[  498.739102] jiffies = 4295166035
[  498.740091] jiffies = 4295166036
[  498.769134] jiffies = 4295166065
[  498.770215] jiffies = 4295166066
[  498.869121] jiffies = 4295166165
[  498.870097] jiffies = 4295166166
[  498.952104] jiffies = 4295166248
[  498.953080] jiffies = 4295166249
[  498.969119] jiffies = 4295166265
[  498.970077] jiffies = 4295166266
[  499.069110] jiffies = 4295166365
[  499.070081] jiffies = 4295166366
[  499.169114] jiffies = 4295166465
[  499.170075] jiffies = 4295166466

感觉不应该这样,不知到问题出在哪里,是我编译domU内核的配置问题,还是其他的?
做等大婶

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
2 [报告]
发表于 2014-01-10 08:50 |只看该作者
goingstudy 发表于 2014-01-09 21:02
因为有需要,我自己制作了Xen的DomU内核,然后就发现jiffies变量不连续,
按理说jiffies在VM运行时是连续的 ...

你的jiffies是如何打印的?时钟中断中么?domU中的时钟本身就是不准的,受Xen调度的影响,在虚拟机调度的时候会进行时钟校准,所以这个可能是正常的。
另外,为什么叫“Xen的DomU”?DomU跟Xen没有绑定关系吧?

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
3 [报告]
发表于 2014-01-10 09:56 |只看该作者
本帖最后由 goingstudy 于 2014-01-10 09:58 编辑

回复 2# humjb_1983
我是有个需要 修改 kernel/timer.c 里的run_timer_softirq( ) 函数,
jiffies的打印是通过kprobes 探测run_timer_softirq 函数得到的,run_timer_softirq() 应该是每个时钟中断都得执行吧,要不然定时器超时的话就没法响应了
domU里的时钟当VM 运行的时候应该是连续的,调度时会有跳跃,但是上面的一点都没有规律
   

论坛徽章:
3
射手座
日期:2014-08-18 12:15:53戌狗
日期:2014-08-22 09:53:36寅虎
日期:2014-08-22 14:15:29
4 [报告]
发表于 2014-01-10 09:58 |只看该作者
你检查内核配置看NOHZ打开了没有, 打开NOHZ时钟也是不连续的。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
5 [报告]
发表于 2014-01-10 10:01 |只看该作者
回复 4# gaojl0728
我擦,CONFIG_NO_HZ还真是等于y,这个选项是干什么的

   

论坛徽章:
3
射手座
日期:2014-08-18 12:15:53戌狗
日期:2014-08-22 09:53:36寅虎
日期:2014-08-22 14:15:29
6 [报告]
发表于 2014-01-10 10:04 |只看该作者
省电用的,内核没事干进入idle进程的时候会关闭系统时钟,等需要的时候再打开。通常手机等嵌入式设备用的比较多。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
7 [报告]
发表于 2014-01-10 10:09 |只看该作者
回复 6# gaojl0728
关掉试试,终于又有了新线索,不过还是对 内核怎样处理 定时器有些不明白,还得看看代码

   

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
8 [报告]
发表于 2014-01-10 10:10 |只看该作者
goingstudy 发表于 2014-01-10 09:56
回复 2# humjb_1983
我是有个需要 修改 kernel/timer.c 里的run_timer_softirq( ) 函数,
jiffies的打印 ...

为何不直接在时钟中断中探测?建议先使用同样的方法在标准内核(非虚拟化环境)中测试一下,看是否连续,确认是否是探测方法的问题。
另外,你如何确认虚拟机没被调度出去?
呵呵,楼下说的Nohz也可能会有影响,可以确认下。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
9 [报告]
发表于 2014-01-10 16:59 |只看该作者
回复 8# humjb_1983
在标准内核试过了,同样的,就是因为CONFIG_NO_HZ的原因
动态定时器和周期定时器

   

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
10 [报告]
发表于 2014-01-10 17:06 |只看该作者
goingstudy 发表于 2014-01-10 16:59
回复 8# humjb_1983
在标准内核试过了,同样的,就是因为CONFIG_NO_HZ的原因
动态定时器和周期定时器

呵呵,那就对了~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP