LINUX网卡软中断设置小结
Contents
意义
通过设置CPU的中断亲和性,在多核心下平衡系统中断负载,
避免因单个CPU的 si 过高而导致的系统瓶颈。
设置方法
1. 关闭irqbalance
|
|
2. 查看中断在各个CPU上的分布情况
3. 设定相应中断的CPU掩码
2表示分配到CPU1,第二个逻辑核心。
CPU掩码:第n个二进制位为1,则表示分配到第n个CPU。
设置完成后,可以看到CPU1对应的中断数在不断增加。
各个CPU的负载:
可以看到 si 成功地转移到CPU1。
小结
设置是否有效,会有内核版本和网卡工作方式的限制,一般至少要求内核版本为2.6.32及以上。
单队列网卡不能直接通过smp_affinity设置,但可以通过RPS模拟。
多队列网卡最好一个中断号绑定到一个固定的核心,以避免cache miss和资源竞争的副作用。
参考资料
Author jonahgao
LastMod 2014-03-04