免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: mordorwww
打印 上一主题 下一主题

[进程管理] 2.6 多核非抢占内核, 一个内核线程死循环,为何整个系统都死了似的? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2013-04-04 22:06 |只看该作者
回复 1# mordorwww


    能ping通说明CPU对中断是有响应的,并且内核的TCP/IP相关内核线程获得了运行机会。那为什么ssh服务线程就没机会响应ssh的连接请求呢?难道与线程优先级有关?linux不是支持时间片轮转的调度吗,况且还是多核系统,确实让人费解。

论坛徽章:
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
12 [报告]
发表于 2013-04-07 11:54 |只看该作者
unbutun 发表于 2013-04-04 20:39
好好想想,非抢占内核,在一个核上有一个进程发生死循环,本核runqueue上的其他进程能得到执行么?

回复 ...


问题是其它核呢

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
13 [报告]
发表于 2013-04-07 14:32 |只看该作者
回复 12# mordorwww
如果本核心的runqueue的锁等资源被占用,其他核心无法从该核心迁移进程。

   

论坛徽章:
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
14 [报告]
发表于 2013-04-07 17:25 |只看该作者
瀚海书香 发表于 2013-04-07 14:32
回复 12# mordorwww
如果本核心的runqueue的锁等资源被占用,其他核心无法从该核心迁移进程。




一般不会锁占用时间很长,除非是调度这部分代码有问题了

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
15 [报告]
发表于 2013-04-07 17:30 |只看该作者
回复 14# mordorwww
建议贴一下代码,如果只是这样猜测的话,很难有结果的。

   

论坛徽章:
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
16 [报告]
发表于 2013-04-07 19:43 |只看该作者
瀚海书香 发表于 2013-04-07 17:30
回复 14# mordorwww
建议贴一下代码,如果只是这样猜测的话,很难有结果的。



代码挺多,有内核模块代码,也有修改内核代码(内核回调新增函数)
编译配置选项有改,不知道这个会不会导致这类问题

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
17 [报告]
发表于 2013-04-07 22:14 |只看该作者
非抢占内核,应该只有一个进程进入内核态,多核也应该如此,否则就等于抢占内核了----进程的内核路径交替运行。

论坛徽章:
0
18 [报告]
发表于 2013-04-14 00:22 |只看该作者
回复 17# smalloc
不是吧,抢占开关在中断/异常返回内核态时生效,如果打开抢占,会在返回内核态前检查TIF_NEEDRESCHED标志,如果该标志被置位,则调用schedule函数进行进程切换;如果没有打开内核抢占,则不检查,直接返回。如果按你的说法,一个核在执行内核线程,其他核的线程将执行不了任何系统调用、异常/中断处理?

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP