关于硬中断和软中断的问题

# 疑问一

都说 cat /proc/interrupts,提供了硬中断的运行情况

通过cat /proc/interrupts获取网卡中断号,设置中断号 echo 1 > /proc/irq/30/smp_affinity_list 对应的cpu,然后给网卡打流,发现si的cpu使用率变高。

切换中断号所对应的cpu,si便切换到新的cpu,做如何理解?

/proc/interrupts 不只是硬中断,也包含了软中断?

解释:

处理 Rx Queue 硬中断的 CPU Core 也是随后进行处理收包的 CPU Core,当某个 NIC Rx Queue 收到 Frames 时,就触发自己的 IRQ,收到 IRQ 的 CPU Core 就执行 IRQ Number 对应的硬中断处理程序,最终将收包任务下发给该 Core 的 NET_RX_SOFTIRQ 实例处理(每个 Core 都有一个 NET_RX_SOFTIRQ 实例)。(参考:Linux 操作系统原理 — RSS 多队列网卡)

所以绑定的其实是网卡的硬中断处理,同步联动改了软中断的处理cpu。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值