23.5. 中断请求概述
中断请求(IRQ)是一种从硬件立即发送到处理器的信号。系统中的每个设备都会被分配一个或多个 IRQ 号,允许它发送唯一的中断。启用中断后,接收中断请求的处理器会立即暂停当前应用程序线程的执行,以解决中断请求。
因为中断会停止正常操作,所以高中断率可能会严重降低系统性能。通过配置中断的关联性,或者向批处理中发送多个较低优先级中断(协调多个中断),这可以减少中断所花费的时间。
中断请求具有关联的 affnity 属性 smp_affinity,它定义了处理中断请求的处理器。要提高应用程序性能,并允许指定的中断和应用程序线程共享缓存行,您可以改进:
- 分配中断关联性。
- 处理同一内核上相同处理器或处理器的关联性。
在支持中断中断的系统上,修改中断请求的 smp_affinity 属性可设置硬件,以便决定使用特定处理器在硬件级别提供中断,而无需在内核中干预。