我在基于MIPS(octeon)的硬件上运行Windriver Linux。 Linux运行在16个核心上,我们运行koftirqd / 0到ksoftirq / 15。 我观察到高传入流量(如ping泛洪)的负载平衡的以下行为:
首先,kostfirqd / 0接受所有负载,直到达到cpu的96-97%左右。 一旦cpu0达到96-97%的使用率,koftirqd / 1开始加载,cpu1的CPU百分比开始增加。 在泵入更多流量时,cpu 1达到96-97%并且cpu2开始负载。随着传入流量的增加,ksoftirqd / 15需要96-97%。
这是预期的行为吗? 能不能让我知道这是默认的linux行为还是Windriver可能做的改进。
非常感谢,
Vasudev
答案 0 :(得分:0)
Cavium Mips以太网驱动程序具有将处理器间中断发送到其他内核以根据条件获取负载的逻辑。 当积压超过某个限制时,IPI将被发送到其他核心。而IPI的处理程序反过来只是NAPI轮询逻辑。
因此行为。