第 5 章 RHEL for Real Time 的应用程序时间戳
执行频繁 时间戳的应用程序 会受到读取时钟的 CPU 成本的影响。用于读取时钟的高成本和时间对应用程序性能造成负面影响。
您可以通过选择具有读取机制的硬件时钟(比默认时钟快)来降低读取时钟的成本。
在 RHEL for Real Time 中,使用带有 clock_gettime() 函数的 POSIX 时钟可以获得更高的性能,从而生成时钟读取最低 CPU 成本。
对于使用硬件时钟以高读取成本使用硬件时钟的系统,这些优点更为明显。
5.1. 硬件时钟 复制链接链接已复制到粘贴板!
在多处理器系统中发现的时钟源的多个实例,如非统一内存访问(NUMA)和 Symmetric 多进程(SMP),在其自行交互,以及响应系统事件的方式,如 CPU 频率扩展或进入能源数,决定它们是否适合实时内核的时钟源。
首选时钟源是时间戳计数器(TSC)。如果 TSC 不可用,则高精度事件计时器(HPET)是第二个最佳选择。但是,并非所有系统都有 HPET 时钟,而有些 HPET 时钟可能不可靠。
如果没有 TSC 和 HPET,其他选项包括 ACPI Power Management Timer(ACPI_PM)、Programmable Interval Timer(PIT)和 Real Time Clock(RTC)。最后两个选项对于读取或具有低分辨率(时间粒度)很昂贵,因此与实时内核一起使用是更理想的选择。