Linux clock_gettime

时间:2017-07-03 22:32:06

标签: c++ linux time clock

我一直在试图弄清楚linux内核如何读取当前时间。 我查看了clock_gettime,它让我得到了gettimeofday和glibc代码,这让我回到了Linux内核中的time(),现在我被困在了计时代码中。

代码(clock_gettime)在何处以及如何获得用作基数的实际时间然后通过转换经过的时间来计算当前时间(从上次读取时钟,我假设)TSC滴答为纳秒并将它们相加为“基础“从时钟读取的时间。

此外,代码如何“同时”获取时钟和TSC,以便在使用前面讨论的方法计算时间时有〜纳秒的错误?

由于

更新: 根据我收集的内容,时间存储在struct vsyscall_gtod_data(http://elixir.free-electrons.com/linux/v4.11.8/source/arch/x86/include/asm/vgtod.h#L16)中,该结构根据https://github.com/0xAX/linux-insides/blob/master/Timers/timers-7.md通过“timer interrupt”更新。我在哪里可以找到所述中断的代码?

0 个答案:

没有答案