首页 > 其他 > 详细

通过cpu热插拔解决rcu stall的问题

时间:2019-10-17 09:37:34      阅读:227      评论:0      收藏:0      [点我收藏+]

在linux 3.10环境一次故障处理中,发现有类似如下打印:

NFO: rcu_sched_state detected stalls on CPUs/tasks: {15 } (detected by 4, 6002 jiffies,其余信息省略) 

该环境没有开启rcu的callback线程,也就是rcu是在软中断中处理。

获取信息发现,有一个核的rcu的qlen已经达到了几百万,而且维持不变,也就是,既没有新的rcu挂在这个核,也没见这个核处理rcu。

查看对应的percpu的softirq统计,发现没有rcu的软中断触发。

由于线上环境不能久等,担心因为rcu的释放积压导致出现oom,所以干脆使用如下方式来解决:

1.要么写一个模块触发一下软中断,因为当时看这个核是idle的,也没有关中断,这种方式应该可行。

2.简单方法,利用cpu的热插拔特性,将这个核下线,然后再上线,果然rcu的qlen减少到0了。

 

通过cpu热插拔解决rcu stall的问题

原文:https://www.cnblogs.com/10087622blog/p/11688661.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!