中断合并

为避免过多中断淹没主机系统,系统将信息包收集在一起,并为多个信息包生成一个中断。 这称为中断合并

对于接收操作,中断通常通知主机 CPU 信息包已经到达设备的输入队列。 如果适配器上没有某种形式的中断缓和逻辑,那么这可能导致对每一个进入的信息包都产生一个中断。 然而,随着信息包进入速度增加,设备驱动程序结束对一个信息包的处理之后,会在退出驱动程序并清除中断之前检查接收队列上是否有更多的信息包。 然后驱动程序就会发现有更多的信息包要处理,这样随着信息包的速度增加,驱动程序最终在每个中断处理多个信息包,这意味着系统随着负载的增加而变得更加高效。

但是有些适配器提供更多的功能,这些功能甚至能够在生成接收中断时提供更多的控制。 这通常称为中断结合或者中断缓和逻辑,它允许接收几个信息包并为几个信息包产生一个中断。 当第一个信息包到达时,将启动一个计时器,然后中断将延迟 n 微秒或者直到 m 个信息包到达。 根据适配器的不同,以及设备驱动程序允许用户控制哪些功能,这些方法有所不同。

在轻负载的情况下,中断结合将增加信息包到达时间的等待时间。 信息包位于主机内存中,但是主机要过一段时间才知道有这个信息包。 但是,在信息包负载较高的情况下,由于生成了较少的中断,并且主机在每个中断处理多个信息包,所以系统通过使用较少的 CPU 周期而更高效地执行。

对于包含中断审核功能的 AIX® 适配器,应将值设置为中等级别,以减少中断开销,而不添加大量等待时间。 对于可能要求等待时间最小的应用程序,您应该禁用或者更改允许每秒较多中断的选项,以减少等待时间。

千兆以太网适配器提供中断缓和功能。 FC 2969 和 FC 2975 GigE PCI 适配器提供延迟值以及缓冲区计数方法。 适配器在第一个信息包到达时启动一个计时器,然后当计时器到期时或者当使用了主机中的 n 个缓冲区时,发生中断。

FC 5700、FC 5701、FC 5706 和 FC 5707 GigE PCI-X 适配器使用中断调速方法,它以指定的频率生成中断,从而实现根据时间聚集信息包。 缺省中断速率为每秒 10000 个中断。 为了达到较低的中断开销,可将中断速率设置为最小值:每秒 2000 个中断。 对于要求等待时间较低而响应时间较快的工作负载,可将中断速率设置为最大值:20000 个中断。 将中断速度设置为 0 将完全禁用中断调速。

10 千兆以太网 PCI-X 适配器(FC 5718 和 5719)有一个延迟单位为 0.82 微秒的中断合并选项(rx_int_delay)。 实际延迟的长度由 0.82 乘以 rx_int_delay 中设置的值来确定。 该选项缺省情况下禁用(rx_int_delay=0),因为测试表明,在这些适配器的较高输入速率下,合并中断无助于性能。

表 1。 10 千兆以太网 PCI-X 适配器特性
适配器类型 特征代码 ODM 属性 缺省值 范围
10 千兆以太网 PCI-X(LR 或 SR) 5718,5719 rx_int_delay 0 0-512