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