免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 7949 | 回复: 22
打印 上一主题 下一主题

[进程管理] 多核系统非抢占内核 一个内核线程死循环,为何整个系统不正常? [复制链接]

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-20 15:09 |只看该作者 |倒序浏览
本帖最后由 mordorwww 于 2014-01-20 15:10 编辑

比如ssh命令行 挂死, 串口挂死, ssh登录不上,  (但是能ping 通)

刚开始还能 ssh登录执行些命令,时间加长后,越来越严重

有softlockup的打印


理论上说,就算100%了几个cpu,剩下的cpu足以让系统功能正常啊(负载均衡和容灾)

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
2 [报告]
发表于 2014-01-20 15:30 |只看该作者
mordorwww 发表于 2014-01-20 15:09
比如ssh命令行 挂死, 串口挂死, ssh登录不上,  (但是能ping 通)

刚开始还能 ssh登录执行些命令,时间 ...

理论上,内核线程开中断死锁,该核的将不能调度,则该核会有softlockup打印,这个应该是正常的,理论上其它核应该能正常继续运行,但是由于每个核都有一些固定的任务,比如工作队列和其它每CPU线程(如ksoftirqd),这些进程将无法得到调度,尤其是BSP核,如果长时间锁死的话,还是很可能导致其他连锁反应,最终导致系统崩溃的,但需要具体场景具体分析。

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
3 [报告]
发表于 2014-01-20 15:35 |只看该作者
humjb_1983 发表于 2014-01-20 15:30
理论上,内核线程开中断死锁,该核的将不能调度,则该核会有softlockup打印,这个应该是正常的,理论上其 ...



工作队列和其它每CPU线程(如ksoftirqd), 为何不能调度了

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
4 [报告]
发表于 2014-01-20 15:40 |只看该作者
mordorwww 发表于 2014-01-20 15:35
工作队列和其它每CPU线程(如ksoftirqd), 为何不能调度了

因为你说的内核线程发生了死循环,那将导致该核锁死在内核态,无法进行调度,所以普通进程都无法得到调度运行了,如果没关中断的话,该核仅能处理中断。

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
5 [报告]
发表于 2014-01-20 15:42 |只看该作者
humjb_1983 发表于 2014-01-20 15:40
因为你说的内核线程发生了死循环,那将导致该核锁死在内核态,无法进行调度,所以普通进程都无法得到调度 ...


关键是其它的核呢,在干啥

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
6 [报告]
发表于 2014-01-20 15:44 |只看该作者
mordorwww 发表于 2014-01-20 15:42
关键是其它的核呢,在干啥

理论上其它核是应该能正常运行的,但是被死锁的核可能会由于死锁产生连锁反应,导致死机。

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
7 [报告]
发表于 2014-01-20 15:46 |只看该作者
humjb_1983 发表于 2014-01-20 15:44
理论上其它核是应该能正常运行的,但是被死锁的核可能会由于死锁产生连锁反应,导致死机。


关键是什么样的连锁反应导致其它核也不工作了。

我碰到过,在这种场景系统挂的时候,能看到有的核明显是在跑Idle线程

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
8 [报告]
发表于 2014-01-20 15:49 |只看该作者
这个i3:

(gdb) bt
#0  0xc04300f2 in kvm_set_pte_at (mm=0x0, addr=0, ptep=0x0, pte=can't compute CFA for this frame
) at arch/x86/kernel/kvm.c:125
#1  0xc0410aff in default_idle () at arch/x86/kernel/process.c:382
#2  0xc0408c06 in cpu_idle () at arch/x86/kernel/process_32.c:114
#3  0xc07f86f3 in do_boot_cpu (cpu=33687552) at arch/x86/kernel/smpboot.c:786
#4  native_cpu_up (cpu=33687552) at arch/x86/kernel/smpboot.c:925
#5  0x00000000 in ?? ()
(gdb) thread 2
[Switching to thread 2 (Thread 2)]#0  0xf7e31000 in ?? ()
(gdb) bt
#0  0xf7e31000 in ?? ()
(gdb) thread 1
[Switching to thread 1 (Thread 1)]#0  0xc04300f2 in kvm_set_pte_at (mm=0x0, addr=0, ptep=0x0, pte=can't compute CFA for this frame
) at arch/x86/kernel/kvm.c:125
125     {
(gdb) bt
#0  0xc04300f2 in kvm_set_pte_at (mm=0x0, addr=0, ptep=0x0, pte=can't compute CFA for this frame
) at arch/x86/kernel/kvm.c:125
#1  0xc0410aff in default_idle () at arch/x86/kernel/process.c:382
#2  0xc0408c06 in cpu_idle () at arch/x86/kernel/process_32.c:114
#3  0xc0a3297f in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) ^C(gdb) Quit
(gdb) c
Continuing.





论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
9 [报告]
发表于 2014-01-20 15:59 |只看该作者
mordorwww 发表于 2014-01-20 15:46
关键是什么样的连锁反应导致其它核也不工作了。

我碰到过,在这种场景系统挂的时候,能看到有的核明 ...

问题最终的现象是啥?还能ping通吗?键盘还能操作吗?系统总共几个核?第几个核死锁?

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
10 [报告]
发表于 2014-01-20 16:02 |只看该作者
humjb_1983 发表于 2014-01-20 15:59
问题最终的现象是啥?还能ping通吗?键盘还能操作吗?系统总共几个核?第几个核死锁?



问题最终的现象是不可ssh登录,但是能ping 通,此时第二个核死循环

有些情况(有硬件狗的情况),串口无反应,系统会重启


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP