注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
xiajiashan的个人空间 https://home.eeworld.com.cn/space-uid-440873.html [收藏] [复制] [分享] [RSS]
日志

Linux-2.6.21 S3c6400中断剖析<六>(原创)-上海嵌入式索漫科技培训教材

已有 1085 次阅读2012-10-10 13:49 |个人分类:嵌入式|

作者:下家山(请尊重原创,转载请注明)  http://www.xiajiashan.com

五.出现的问题

    5.1 现象(软件锁和网络超时)

       客户在用我们发布的驱动测试时出现

       “BUG: soft lockup detected on CPU#0!”并伴随有“NETDEV WATCHDOG: eth0: transmit timed out”现象出现

       我们拿到的板子后测试发现,在ping的时候很难出现上述问题,而在用iperf工具测试时,马上就会出现(几秒钟),而且是在TX时候出现(RX正常)。

       虽然出现两个现象,大部分是先出现“BUG: soft lockup detected on CPU#0!”,再出现“NETDEV WATCHDOG: eth0: transmit timed out”。(有时候是先出现“NETDEV WATCHDOG: eth0: transmit timed out”再出现“BUG: soft lockup detected on CPU#0!”)

      5.2 什么是软件锁和网络超时

       先来说说“BUG: soft lockup detected on CPU#0!”。

       网上有人说这个不算bug,只要你的系统io,或者某个服务10秒内都没反应,就会出

现这个信息。而且这个信息是可忽略的,它只是提醒你某个地方占用CPU时间太长,需要注意。但是,我们这里却不可忽略,因为OS都down掉了。

    在我看来“NETDEV WATCHDOG: eth0: transmit timed out”这个错误还是“BUG: soft lockup detected on CPU#0!”带来的(即使是“NETDEV WATCHDOG: eth0: transmit timed out”这个错误先出现)。因为,当CPU检测到某个线程占用CPU时间超过10秒并报告“BUG: soft lockup detected on CPU#0!”时,那么网络传输肯定会超时即会报告“NETDEV WATCHDOG: eth0: transmit timed out”(因为网络传输超时时间设置的是20ms)。

       疑问:既然网络超时时间比软件锁(soft lockup)要短,为什么大部分时间是先出现软件锁错误信息再出现网络超时信息呢?

     

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章