"); //-->
打开此选项后,如果CPU做一件事情的时间超过10秒而让其他任务得不到调度的机会,kernel将报告这是一个”soft lockups” bug,如果系统没有发生什么异常,此bug可以忽略,但要引起你的重视。
此bug多发生在某个循环上。这是一个很好的调试选项,我们在调试wi-fi时就常出现这个问题,而且是致命问题,当时ping(不常见) 和iperf(大概几秒钟就会出现)都会出现这个问题,开始以为是我们的wifi驱动出了问题,后来跟踪到时samsung 6400 BSP 外部中断部分代码有问题。
7.2 如何打开
=======================================================================================
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测试结果此时,系统挂起,ctrl+c不响应。
7.5 如果不打开该调试选项(测试代码不变)运行结果如下:
此时,系统挂起,ctrl+c不响应,但是不会报错吴类型。
2012-6-19
写于上海松江
作者:下家山(请尊重原创, 转载请注明) http://www.xiajiashan.com,有什么问题可与我联系:ximenpiaoxue4016@sina.com
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
eleaction01 阅读:4513