11

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

4

2 回答 2

15

ktime_get()函数返回ktime_t具有纳秒分辨率的 。

于 2013-04-14T11:45:12.040 回答
5

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

这些寄存器都因 CPU 不同而不同。访问它的通用接口是在 <linux/timex.h> 文件中声明的“get_cycles”函数。

也许,这份文件会有所帮助。

于 2013-04-14T09:41:38.523 回答