内核模块的 CPU 使用情况、路由和转发规则

内核模块的 CPU 使用情况、路由和转发规则

我有一个安装了环回内核模块的系统。通过一系列路由和 iptable 规则,从环回接口发出的数据包通过 ipsec 隧道发送。我发现在负载下,内核会出现恐慌或转储大量消息,提示“BUG:软锁定 - CPU#0 卡住了 X 秒”。

堆栈跟踪始终位于 crypto_cbc_encrypt 或 des3_ede_encrypt 等加密函数中。 ipsec 隧道上有大量流量,系统在加密+解密上花费了大量时间。

我担心的是它始终是 CPU 0。我如何确保其他 CPU 也共享加密负载。我有时会看到 ksoftirq0 线程处于 100%。同样,它始终是 cpu0。这种情况主要发生在数据包从环回接口转发、通过 xfrm 规则并进入隧道时。

如何检查环回内核模块的 CPU 掩码?有这样的事吗?

相关内容