关于 中断 以及 死锁的错误
来源:互联网 发布:手机淘宝怎么登陆账号 编辑:程序博客网 时间:2024/06/07 02:34
环境 : 2.6.18内核
发生死锁有2中错误:
1 :
soft lockup - cpu#0 stuck for 10s
打印这句话,是在kernel/softlockup.c文件的softlock_tick函数打印的, 时钟中断调用该函数, 该函数检测watchdog thread是否10s没有运行。 若有死循环,则 watchdog thread 一直schedule不了。。。
top 信息解释:
Cpu(s): 0.2%us, 0.0%sys, %ni, 99.7%id, ....
us 表示用户线程所占用的时间。
sys表示内核线程所占用的时间。
hi 表示hard interrupt
si 表示 soft interrupt
发生这种情况的根本原因是
__smp_call_function 里面 的 spin_lock(&call_lock) 一直拿不到锁
而导致它发生的情况目前遇到2种:
1) 死循环
所以如果在某个地方不停retry的话,就必须睡一段时间。
目前使用的是:
set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout(WAIT_TIME);
目的是: 使这个进程不要占cpu 10s 以上
2)野指针
这个师兄遇到过。。。
2
NMI watch dog
这个是由于死锁的地方使用了类似 spinlock_irq的东西 ,把中断也关掉了。
解决死锁问题:
可以利用 魔术键。
或者 echo t > /proc/sysrq-trigger 打印进程的信息
或者 直接按键盘 alt + sysrq + t
- 关于 中断 以及 死锁的错误
- 关于软中断原理,以及中断栈的概念等
- 死锁以及死锁的解决办法
- 关于数据库连接中断错误
- 关于死锁产生的原因以及解决的办法
- 关于线程中锁的使用以及死锁情况
- 【面试中关于死锁的四个条件以及如何解决死锁的记录】
- 关于死锁的四个条件以及如何解决死锁的记录
- APUE figure 11.12 勘误 关于死锁解决办法的代码错误
- 死锁的产生以及如何避免死锁
- 时钟中断导致的内核模块死锁
- 一个因中断导致的死锁分析
- 一个因中断导致的死锁分析
- 关于计算机系统的死锁
- 关于死锁的思考
- 关于死锁的产生
- 关于C51的中断函数要注意的几个问题 -----中断中调用函数参数错误问题
- 死锁的产生以及处理
- Java基础知识
- delete 删除字符串的字符
- 编译switchfin 软件错误解决
- 解决"VMware Infrastructure Client unrecoverable error"
- commons-fileupload.jar上传文件时的乱码解决
- 关于 中断 以及 死锁的错误
- ‘PTHREAD_MUTEX_RECURSIVE’未声明(在此函数内第一次使用)
- 用System.Xml读写XML整理文档 - asp.net 教程
- ReSIProcate proxy 处理Invite请求处理流程
- 修理PC键盘
- VMware vSphere Client 连接 vCenter 时"连接到 VMware vCenter Update Manager 时出错"解决办法
- TCE 2005SR1 安装后补丁MP04的方法
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- ubuntu下ip资源及网络配置