免费注册 查看新帖 |

Chinaunix

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

[进程管理] 请教如何调试内核线程卡死? [复制链接]

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:52:30
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-02-03 17:10 |显示全部楼层 |倒序浏览
Hi,

测试的同事在使用LTP进行压力测试Kernel时,Kernel发生了复位。
LTP全称是Linux Test Project,是一系列应用层的程序。
我看Log,是Kernel下面的watchdog触发的复位。
我们板子的Kernel watchdog是厂家弄的(高通平台),大致的原理是通过schedule_delayed_work_on来周期性喂狗,一旦没来得急喂狗,watchdog模块便调用panic()发生复位了。
因此我判断是Kernel进程调度来不及起schedule_delayed_work_on,导致了复位。

请问如何debug这个问题呢?我想在watchdog使用panic()重启之前,加些打印看当前Kernel下面是哪个线程的占用率高。请问能做得到吗?

谢谢!

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:52:30
2 [报告]
发表于 2015-02-04 18:26 |显示全部楼层
如果把watchdog注掉的话,测试是能通过的。
应该是worker优先级不够,但schedule_delayed_work_on的优先级好像不能调呀。请问能有其他更实时的任务来跑我的喂狗程序吗?
回复 3# Tinnal


   

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:52:30
3 [报告]
发表于 2015-02-04 18:29 |显示全部楼层
回复 2# 镇水铁牛

Hi,我用schedule_delayed_work_on来运行我们自己定义的喂狗程序。一旦喂狗不及时,就会触发fiq中断系统复位。一直以来运行都正常的,就是在做LTP压力测试时,有时候喂狗任务抢不到控制权。请问有其他的更好方法吗?


   

论坛徽章:
1
2015元宵节徽章
日期:2015-03-06 15:52:30
4 [报告]
发表于 2015-02-04 21:34 |显示全部楼层
回复 7# linuxfellow

Hi, 我想问下如何设置内核的进程优先级呢?
事实上我们有两个版本的内核,一个是3.0.21,一个是3.4.16,3.0.21版本没问题,3.4.16的内核才出问题。当然,两个版本的BSP有些不一样。做测试的LTP执行文件都是一个。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP