请教stall on CPU的问题

swcims 2015-02-03 03:54:14
请教,我用的MT7621双核CPU,经常出现stall on CPU的情况,
<3>INFO: rcu_sched_state detected stall on CPU 0 (t=2500 jiffies)
<3>INFO: rcu_bh_state detected stalls on CPUs/tasks: { 0} (detected by 2, t=2503 jiffies)
...
整个系统都hang住了,无法工作,也不重启。
请问各位大神,如何解决?谢谢!
...全文
13652 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
i-derry 2019-01-14
  • 打赏
  • 举报
回复
我也是用MT7621芯片,系统是OpenWrt,也出现了类似问题,后面发现是自己写的程序导致死锁导致,因为是多核,如果加锁时间过长就会出现这种问题,特别是spin_lock,注意不能长时间占有锁。 Ps: OpenWrt开发的问题可以关注下微信公众号: OpenWrt [ 652.568000] INFO: rcu_sched self-detected stall on CPU { 0} (t=52509 jiffies g=2329 c=2328 q=6672) [ 652.568000] CPU: 0 PID: 148 Comm: kworker/0:1 Tainted: G O 3.10.14 #1 [ 652.568000] Workqueue: events neigh_periodic_work [ 652.568000] Stack : 87d2e700 803b8fd4 8041fb80 00000000 80410000 8041fb80 80410000 80410000 811036bc 8035a300 80473818 8004dfd4 80410000 00000000 803d735c 87db97d4 87db97d4 80029950 00000000 80049098 803bacf8 00000000 00000512 00000000 00000000 00000000 00000000 00000000 00000000 00000000 6e657665 00007374 00000000 00000000 00000000 00000000 87c2bb80 81106d00 8028cd1c 87db9780 ... [ 652.568000] Call Trace: [ 652.568000] [<8000aec0>] show_stack+0x64/0x7c [ 652.568000] [<80084c6c>] rcu_check_callbacks+0x3f8/0x80c [ 652.568000] [<8003a208>] update_process_times+0x48/0x88 [ 652.568000] [<8006eaf8>] tick_handle_periodic+0x30/0x128 [ 652.568000] [<8000dcd4>] c0_compare_interrupt+0x78/0xbc [ 652.568000] [<8007bc74>] handle_irq_event_percpu+0x5c/0x270 [ 652.568000] [<8007ffdc>] handle_percpu_irq+0x8c/0xbc [ 652.568000] [<8007b2f0>] generic_handle_irq+0x40/0x54 [ 652.568000] [<800075d0>] do_IRQ+0x18/0x28 [ 652.568000] [<80001eb4>] plat_irq_dispatch+0x6c/0x78 [ 652.568000] [<80005670>] ret_from_irq+0x0/0x4
qq_38623409 2017-05-03
  • 打赏
  • 举报
回复
MT7621是arm的芯片吗, 我百度半天找不到; 请告知 MT7621的cpu架构, 以及你的os版本, kernel版本
yzliu1989 2016-12-07
  • 打赏
  • 举报
回复
是什么情况会导致这样的状态,比如cpu使用率100%或者内存使用满了,或者自己的程序运行过程使用的内存过大或缓存过大?
xujiali5172923 2015-05-28
  • 打赏
  • 举报
回复
再补充一点,当cpu无法从高速缓存中获取指令或数据,那么只有从内存中获取,而这种会浪费很长时间的,所以你的程序会hang住,考虑玩个小程序吧,或者非要玩这个大程序,换个牛逼手机吧。
xujiali5172923 2015-05-28
  • 打赏
  • 举报
回复
cpu执行的指令和数据是从L1高速缓存的指令缓存和数据缓存中获取,一旦cpu要执行的指令或数据无法从高速缓存中获取,就会产生cpu stall。你这种情况是程序要求的cpu性能要高于你现在使用的cpu,你得考虑升级设备才能运行此庞大程序。

1,025

社区成员

发帖
与我相关
我的任务
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
  • CPU和硬件区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧