在 Linux 中,要让某一个线程 排他性地独占一个 CPU,并且进一步隔离中断(包括系统的 timer tick),从而实现最低的延迟抖动,涉及到以下几个关键概念:
  1. CPU 亲和性(CPU Affinity)
  2. 中断隔离(IRQ Isolation)
  3. 系统 tickless 模式(NoHZ Mode)
  4. 实时调度策略
  5. CPU 隔离(CPU Isolation)和 Full CPU Isolation

1. CPU 亲和性(CPU Affinity)

CPU 亲和性是指将一个线程绑定到特定的 CPU 核上运行,从而避免线程在多个 CPU 上调度引起的上下文切换。

设置线程的 CPU 亲和性:
可以通过 sched_setaffinity() 系统调用来为某个线程指定 CPU affinity,也可以使用 taskset 命令行工具。

10-01 07:46