新闻  |   论坛  |   博客  |   在线研讨会
linux-kernel调试技术大全上海索漫培训教材
xiajiashan | 2012-08-29 10:24:59    阅读:727   发布文章

作者:下家山(请尊重原创,转载请注明) http://www.xiajiashan.com 七:DETECT_SOFTLOCKUP调试选项 7.1 意义及作用

打开此选项后,如果CPU做一件事情的时间超过10秒而让其他任务得不到调度的机会,kernel将报告这是一个”soft lockups” bug,如果系统没有发生什么异常,此bug可以忽略,但要引起你的重视。

此bug多发生在某个循环上。这是一个很好的调试选项,我们在调试wi-fi时就常出现这个问题,而且是致命问题,当时ping(不常见) 和iperf(大概几秒钟就会出现)都会出现这个问题,开始以为是我们的wifi驱动出了问题,后来跟踪到时samsung 6400 BSP 外部中断部分代码有问题。

7.2 如何打开

 

1.jpg

 

=======================================================================================

By 下家山 QQ 1209050967 上海松江文汇路928号258室 松江大学城 8/2/2012

上海索漫科技 http://www.xiajiashan.com 专注嵌入式(ARM7,Cortex-M0,Cortex-M3,ARM9,linux)培训

7.3 测试代码

#include <linux/init.h>

#include <linux/module.h>

static int softlockup_test_init(void)

{

printk(KERN_EMERG "\nHello\n");

while(1); //检测soft lockup

return 0;

}

static void softlockup_test_exit(void)

{

printk(KERN_EMERG"\nGoodbye\n");

}

module_init(softlockup_test_init);

module_exit(softlockup_test_exit);

7.4测试结果
2.jpg
 

此时,系统挂起,ctrl+c不响应。

7.5 如果不打开该调试选项(测试代码不变)

运行结果如下:

3.jpg

此时,系统挂起,ctrl+c不响应,但是不会报错吴类型。

2012-6-19

写于上海松江

作者:下家山(请尊重原创, 转载请注明) http://www.xiajiashan.com,有什么问题可与我联系:ximenpiaoxue4016@sina.com

 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
02年接触ARM和ucos,开发过有线和无线图像报警器,IPCamera,人脸识别系统,OCR识别系统,指纹识别系统,05年开始从事Linux及Rtems下WiFi,camera,Ethernet等驱动开发工作,专做嵌入式linux培训,致力于把我十年来的研发经验传授给每一个学员,招人的可以找我,ximenpiaoxue4016@sina.com
推荐文章
最近访客