我在基于mips(octeon)的硬件上运行windriver linux。
linux运行在16个内核上,我们运行koftirqd/0到ksoftirq/15。
我观察到在高传入流量(如ping flood)下的以下负载平衡行为:
首先,kostfirqd/0承担所有的负载,直到它达到大约96-97%的cpu。
一旦cpu0达到96-97%的使用率,koftirqd/1开始承担负载,cpu1的cpu百分比开始增加。
当更多的流量被注入时,CPU 1达到96-97%,CPU 2开始加载。一直持续到ksoftirqd/15接收96-97%的流量。
这是预期的行为吗?
你能告诉我这是默认的linux行为还是windriver可能做的改进吗?
谢谢,
瓦苏德夫

最佳答案

Cavium MIPS以太网驱动程序具有将处理器间中断发送到其他内核的逻辑,以便在给定条件下承担负载。
当backlog超过某个限制时,ipi被发送到其他核心。而ipi的处理程序则是napi轮询逻辑。
因此行为。

关于linux - 高网络流量时的ksoftirqd行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44128980/

10-11 22:55
查看更多