我在4核intel机器上有一个多队列NIC卡和 我绑定了一个cpu核心上的NIC卡的每个队列(set/proc/irq/xxx/smp_affinity) 让我们例如core0上的queue0,core1上的queue1等等。如何激活linux中的所有ksoftirqds? (关于linux内核的网络堆栈)
据说softirq会在硬件中断发生的同一内核上调用。 为什么ksoftirqd无法在我的机器上平行运行? 这只是一个内核线程(如ksoftirqd/2),将使用核心的100%,但其他都是0%
当我使用
cat /proc/interrupts | grep eth1
我可以看到,所有的包都均匀分布到所有NIC队列。
更新:
下面是100%的软中断问题的解决方案,如果你能读中国 http://hi.baidu.com/higkoo/item/42ba6c353bc8aed76d15e9c3(请参阅#7) 如果不是,其博客上说你可以添加另一张卡,这个问题将被解决
好的,我的问题是为什么它有100%的核心和0%的其他3核心,我希望所有的100%甚至分布在4核心,每个25%。 – dilfish