我想测量驱动程序代码(Linux版本3.4)中某些语句之间的时间。 我正在使用 jiffies 来记录计数器的开始和结束,然后转换为毫秒。
默认情况下, HZ 值定义为 128 ,其精度仅为 7ms (即,计数器中的每个增量< strong> 1 ,相应的时间将增加 7ms )
如果我将 HZ 的值增加到 1000 ,我可以获得 1ms 的精度。
我应该修改内核代码中的一些语句。
到目前为止,我已经尝试过这些东西但是徒劳无功
在arch/arm/include/asm/param.h
,
我替换了
#define HZ CONFIG_HZ
与
#define HZ 256
。
还有其他要修改的陈述吗?
答案 0 :(得分:1)
为什么不使用the timestamp counter for precise measurements?
如果您需要测量非常短的时间间隔或者您需要极高的精度,您可以使用与平台相关的资源,选择精度优于便携性...... CPU制造商推出了一种计算时钟周期的方法一种简单可靠的方法来衡量时间流逝。因此,大多数现代处理器包括一个计数器寄存器,在每个时钟周期稳定递增一次。如今,这种时钟计数器是执行高分辨率计时任务的唯一可靠方式。