12.4. 手动将 CPU 关联性分配给单独的 IRQ
分配 CPU 关联性可让绑定和取消绑定进程和线程到指定的 CPU 或 CPU 范围。这可减少缓存问题。
流程
通过查看
/proc/interrupts
文件,检查每个设备正在使用的 IRQ。~]# cat /proc/interrupts
每行显示 IRQ 号、每个 CPU 中出现的中断数,后面是 IRQ 类型和描述。
CPU0 CPU1 0: 26575949 11 IO-APIC-edge timer 1: 14 7 IO-APIC-edge i8042
将 CPU 掩码写入特定 IRQ 的
smp_affinity
条目。CPU 掩码必须表示为十六进制数字。例如,以下命令指示 IRQ 编号 142 仅在 CPU 0 上运行。
~]# echo 1 > /proc/irq/142/smp_affinity
只有在发生中断时,更改才会生效。
验证步骤
- 执行将触发指定中断的活动。
检查
/proc/interrupts
是否有变化。配置 IRQ 的指定 CPU 上的中断数量增加,指定关联性外配置的 IRQ 中断数不会增加。