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