Non-RCU local softirq work is pending, handler #08

 

检查/var/log/messages可以看到:

Mar  7 22:38:41 exampleserver-1 kernel: NOHZ: local_softirq_pending 100
Mar 22 08:38:31 exampleserver-1 kernel: NOHZ: local_softirq_pending 100
Mar 25 09:22:12 exampleserver-1 kernel: NOHZ: local_softirq_pending 100

内核相关

NOHZ: local_softirq_pending 100提到了 NOHZ: local_softirq_pending 100 有可能是Red Hat Kernel 6.2.32 分支的bug。

在 http://www.kubuntuforums.net/showthread.php?49223-Kernel-error-messsage-NOHZ-local_softirq_pending-100 有一个解释:

NOHZ补丁包含了一个检查"处理器进入idle时候softirqs pending"的功能。这个BUG和NOHZ无关,只不过通过NOHZ补丁能够观察到这个现象:

  • t1线程在CPU#0上运行softirq disabled代码,中断发生,出现了softirq,但是被推迟(deferred)(因为softirqs disabled)
  • t1线程调用cond_resched_softirq(),通过_local_bh_enable()调用schedule()再次激活so

NOHZ是只是显示了系统存在的问题,具体原因还是要进一步分析


在Red Hat官方文档中有一个 VMware guest hangup and "NOHZ: local_softirq_pending 100" logged 提示了类似情况

posted on 2022-04-01 15:40  tycoon3  阅读(2175)  评论(0)    收藏  举报

导航