第 7 章 运行并解释硬件和固件延迟测试


使用 hwlatdetect 程序,您可以测试并验证潜在的硬件平台是否适合使用实时操作。

先决条件

  • 确保安装了 RHEL-RT (RHEL for Real Time)和 realtime-tests 软件包。
  • 有关低延迟操作所需的任何调整步骤,请查看厂商文档。

    供应商文档可以提供减少或删除任何将系统转换为系统管理模式(SMM)的系统管理中断(SMI)的说明。虽然系统处于 SMM,但它运行固件而不是操作系统代码。这意味着,在 SMM 等待期间过期的任何计时器,直到系统转换为正常操作为止。这可能导致不解释的延迟,因为 Linux 无法阻止 SMI,并且唯一表示我们实际在特定于供应商的性能计数器寄存器中可以找到 SMI。

    警告

    红帽强烈建议您不要完全禁用 SMI,因为它可能会导致出现灾难性硬件故障。

7.1. 运行硬件和固件延迟测试

在运行 hwlatdetect 程序时,不需要在系统中运行任何负载,因为测试会查找硬件架构或 BIOS 或 EFI 固件带来的延迟。hwlatdetect 的默认值是每秒轮询 0.5 秒,并报告连续调用之间超过 10 微秒的差距,以获取时间。hwlatdetect 返回 系统上可能的最大延迟。因此,如果您有一个应用程序需要最大延迟值小于 10us,hwlatdetect 会报告其中一个差距为 20us,则系统只能保证延迟 20us。

注意

如果 hwlatdetect 显示系统无法满足应用程序的延迟要求,请尝试更改 BIOS 设置或使用系统供应商获得满足应用程序延迟要求的新固件。

流程

  • 运行 hwlatdetect,以秒为单位指定测试持续时间。

    hwlatdetect 通过轮询时钟源并查找无法解释的差距来查找硬件和固件延迟。

    # hwlatdetect --duration=60s
    hwlatdetect:  test duration 60 seconds
    	detector: tracer
    	parameters:
    		Latency threshold:    10us
    		Sample window:        1000000us
    		Sample width:         500000us
    		Non-sampling period:  500000us
    		Output File:          None
    
    Starting test
    test finished
    Max Latency: Below threshold
    Samples recorded: 0
    Samples exceeding threshold: 0
    Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat