如何增加内核定时器频率



我想测量驱动程序代码(Linux版本3.4)中某些语句之间所花费的时间。我使用jiffies来记录计数器的开始和结束,然后转换为毫秒。

HZ默认值定义为128,其精度仅为7ms(即计数器每增加1,相应的时间将增加7ms)

如果我将HZ的值增加到1000,我可以得到1ms的精度。

我应该修改内核代码中的一些语句。

到目前为止,我已经尝试了这些事情,但都是徒劳的

arch/arm/include/asm/param.h

我更换

#define HZ CONFIG_HZ

#define HZ 256 .

还有其他需要修改的语句吗?

为什么不使用时间戳计数器进行精确测量呢?

如果你需要测量非常短的时间间隔,或者你需要非常高的精度,你可以求助于平台相关的资源,选择精度而不是可移植性…CPU制造商引入了一种计算时钟周期的方法,作为一种简单可靠的测量时间流逝的方法。因此,大多数现代处理器都包含一个计数器寄存器,该寄存器在每个时钟周期稳定地递增一次。如今,这种时钟计数器是执行高分辨率计时任务的唯一可靠方法。

最新更新