linux内核高分辨率定时器,64位Linux上的高分辨率定时器支持
我試圖在2.6.39.1 64位Linux上啟用高分辨率定時器支持。為此,我首先在.config中設置CONFIG_HIGH_RES_TIMERS=y。64位Linux上的高分辨率定時器支持
而且,grep HZ .config輸出為:
# CONFIG_RCU_FAST_NO_HZ is not set
CONFIG_NO_HZ=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_MACHZ_WDT=m
但是,下面的命令的輸出是不1 nsec重新編譯內核后按預期方式。
cat /proc/timer_list |grep resolution打印:.resolution: 999848 nsecs
此外,cat /proc/timer_list |grep handler輸出:
event_handler: tick_handle_periodic,而不是event_handler: hrtimer_interrupt
當我使用hrtimer跑實驗,我顯然沒有看到結果納秒的精度。
我也嘗試運行C程序提到的here這應該有助于確定Linux內核定時器中斷頻率。運行C程序的結果如下:
kernel timer interrupt frequency is approx. 766 Hz
我工作的Dell Poweredge T710其中,我認為,確實有高精度計時器硬件支持
我錯過了(?)任何一步?我哪里錯了?
謝謝!
+0
仔細檢查您啟動的內核配置是否與您認為自己構建的配置相匹配。 'zcat /proc/config.gz | grep的CONFIG_HIGH_RES_TIMERS' –
2011-12-22 22:13:20
+0
@BrianCain:'/啟動>貓配置-2.6.39.1 | grep的HIGH_RES' CONFIG_HIGH_RES_TIMERS = Y –
2011-12-22 22:47:22
+0
調度程序只運行每隔一段時間,所以很自然不看到預期的精度。 –
2011-12-22 22:51:34
總結
以上是生活随笔為你收集整理的linux内核高分辨率定时器,64位Linux上的高分辨率定时器支持的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 衣柜出现小虫子是什么东西?
- 下一篇: 请问做踢脚线一般多宽啊,怎么计算?