利用亚微秒精度测量Linux内核空间的时间

时间:2013-04-14 02:58:27

标签: c linux time linux-kernel

我目前正在使用do_gettimeofday()函数来测量内核中的时间,这给了我微秒的精度。有没有比这更精确的东西(可能是纳秒级)?

2 个答案:

答案 0 :(得分:14)

ktime_get()函数返回ktime_t,其分辨率为纳秒。

答案 1 :(得分:5)

据我所知,最精确的定时器应该是处理器特定的计数器寄存器(例如x86中的TSC)。 Linux内核从“./arch/x86/include/asm/msr.h”文件中提供rdtsc,rdtscl,rdtscll宏来读取该寄存器值。对于ARM,cycle counter register

这些寄存器在CPU与CPU之间都有所不同。访问它的公共接口是“get_cycles”函数,它在文件中声明。

也许,this document可以提供帮助。