文章目录
在 Linux 中,要让某一个线程 排他性地独占一个 CPU,并且进一步隔离中断(包括系统的 timer tick),从而实现最低的延迟抖动,涉及到以下几个关键概念:
- CPU 亲和性(CPU Affinity)
- 中断隔离(IRQ Isolation)
- 系统 tickless 模式(NoHZ Mode)
- 实时调度策略
- CPU 隔离(CPU Isolation)和 Full CPU Isolation
1. CPU 亲和性(CPU Affinity)
CPU 亲和性是指将一个线程绑定到特定的 CPU 核上运行,从而避免线程在多个 CPU 上调度引起的上下文切换。
设置线程的 CPU 亲和性:
可以通过 sched_setaffinity()
系统调用来为某个线程指定 CPU affinity,也可以使用 taskset
命令行工具。