运行的时候 console尽然出现这样的消息
INFO: RCU detected CPU 0 stall (t=4294699822/10000 jiffies)
Call
Trace:
[<80016e3c>] dump_stack+0x8/0x34
[<80066260>]
__rcu_pending+0x190/0x2a4
[<800663b8>]
rcu_pending+0x44/0x54
[<800439cc>]
update_process_times+0x34/0x6c
[<8005ce14>]
tick_handle_periodic+0x30/0x194
[<8001fcc8>]
c0_compare_interrupt+0x5c/0x9c
[<80062888>]
handle_IRQ_event+0xa0/0x1b4
[<80064a78>]
handle_level_irq+0x7c/0x114
[<8001a1c0>]
plat_irq_dispatch+0x1c8/0x268
[<80010424>]
ret_from_irq+0x0/0x4
[<801f49ec>]
net_rx_action+0xb0/0x260
[<8003dc04>]
ksoftirqd+0x198/0x32c
[<8004fbac>]
kthread+0x5c/0xb4
[<8001b450>]
kernel_thread_helper+0x10/0x18
开始俺是不知道是咋回事的。 老板说这是死锁,貌似果然是的。
解决的方法比较土。
将某个修改interface mac地址的语句注释掉,也就是对无线接口,不做mac地址的修改。就好了。。。
原因我还不是特别清楚。 不过可以记住,有个叫rcu的东东,又做同步的编程。 ok
在Linux内核中遇到RCU检测到CPU stall并打印错误信息时,通过注释修改接口MAC地址的语句,问题得以解决。解释了RCU是什么,并提供了可能的原因。

79

被折叠的 条评论
为什么被折叠?



