第 19 章 通过隔离中断和用户进程来最小化系统延迟


在响应各种事件时,实时环境需要最小化或消除延迟。要做到这一点,您可以将中断(IRQ)与不同专用 CPU 上的用户进程隔离开来。

19.1. 中断和进程绑定

将中断(IRQ)与不同专用 CPU 上的用户进程隔离,可在实时环境中最小化或消除延迟。

中断通常在 CPU 之间平均共享。当 CPU 必须编写新数据和指令缓存时,这可能会延迟中断处理。这些中断延迟可能会导致与在同一 CPU 中执行的其他处理冲突。

可以将时间关键中断和进程分配到特定的 CPU (或一系列 CPU)。这样,用于处理此中断的代码和数据结构很可能在处理器和指令缓存中。因此,专用进程可以尽快运行,所有其他非关键进程都在其他 CPU 上运行。这特别重要,其中涉及的速度接近或内存限制以及可用的外围总线带宽。任何等待内存进入处理器缓存都会对整个处理时间和确定性造成显著影响。

实际上,最佳性能完全特定于应用程序。例如,为不同公司调优具有相似功能的应用程序,需要完全不同的性能调整。

  • 当公司隔离 4 个 CPU 用于操作系统功能和中断处理时,公司看到了最佳结果。剩余的 2 个 CPU 专门用于应用程序处理。
  • 当公司将网络相关应用程序进程绑定到处理网络设备驱动程序中断的单一 CPU 上时,公司发现了最佳确定性。
重要

要将进程绑定到 CPU,通常需要知道给定 CPU 或 CPU 范围的 CPU 掩码。根据您使用的命令,CPU 掩码通常以 32 位位掩码、十进制数或十六进制数字表示。

Expand
表 19.1. 给定 CPU 的 CPU 掩码示例

CPU

bitmask

十进制

十六进制

0

00000000000000000000000000000001

1

0x00000001

0, 1

00000000000000000000000000000011

3

0x00000011

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部