最近在攻关一个问题:am3354 使用sdk2.0 的版本,linux 内核4.1; 启动过程都没什么问题,但一旦长时间运行就会偶尔出现 CPU 使用率到达 100%,应用程序的线程无法得到调度的情况;比如,让板子空跑一个晚上,偶尔会出现一次这样的情况;而如果加上我们的应用程序(一个基于QT的人机交互程序,会不断刷新时间显示),则出现的概率会增加,但也是六七个小时才出现一次;而每次出现时都会打印如下信息:
Jul 8 21:22:18 am335x-evm user.err kernel: [11699.256328] INFO: rcu_preempt self-detected stall on CPU Jul 8 21:22:18 am335x-evm user.err kernel: [11699.261739] 0: (1 ticks this GP) idle=561/1/0 softirq=923964/923964 fqs=0 Jul 8 21:22:18 am335x-evm user.err kernel: [11699.268735] (t=9593 jiffies g=495182 c=495181 q=204) Jul 8 21:22:18 am335x-evm user.err kernel: [11699.273907] rcu_preempt kthread starved for 9593 jiffies! Jul 8 21:22:18 am335x-evm user.info kernel: [11699.279332] Task dump for CPU 0: Jul 8 21:22:18 am335x-evm user.info kernel: [11699.282577] swapper R running 0 0 0 0x00000002 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.288976] Backtrace: Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.291489] [<c0012610>] (dump_backtrace) from [<c00127ac>] (show_stack+0x18/0x1c) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.299094] r6:80000193 r5:00000000 r4:c08c2bf8 r3:00000000 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.304829] [<c0012794>] (show_stack) from [<c0058dc4>] (sched_show_task+0xac/0x108) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.312618] [<c0058d18>] (sched_show_task) from [<c005a034>] (dump_cpu_task+0x24/0x30) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.320568] r5:c08ccd70 r4:00000000 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.324195] [<c005a010>] (dump_cpu_task) from [<c0070b90>] (rcu_dump_cpu_stacks+0xa8/0x100) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.332597] [<c0070ae8>] (rcu_dump_cpu_stacks) from [<c0073f9c>] (rcu_check_callbacks+0x42c/0x87c) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.341594] r8:c08c013c r7:00078e4e r6:c08ccd70 r5:c08ccd70 r4:c08cd14c r3:c08be000 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.349424] [<c0073b70>] (rcu_check_callbacks) from [<c00771cc>] (update_process_times+0x38/0x64) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.358335] r10:00000001 r9:00000003 r8:00000001 r7:c08bff28 r6:c08cdb00 r5:00000000 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.366239] r4:c08c2bf8 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.368808] [<c0077194>] (update_process_times) from [<c00858e0>] (tick_sched_handle+0x50/0x5c) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.377545] r5:00000aa3 r4:f19ffea5 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.381161] [<c0085890>] (tick_sched_handle) from [<c0085af0>] (tick_sched_timer+0x48/0x8c) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.389561] [<c0085aa8>] (tick_sched_timer) from [<c0077afc>] (__run_hrtimer+0x6c/0x114) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.397686] r7:c08cd398 r6:c0085aa8 r5:c08cd3d0 r4:c08cdb00 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.403409] [<c0077a90>] (__run_hrtimer) from [<c00781d4>] (hrtimer_interrupt+0xe0/0x2c0) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.411623] r6:c08cd3d0 r5:00000aa3 r4:f19fac73 r3:00000a8d Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.417365] [<c00780f4>] (hrtimer_interrupt) from [<c002473c>] (omap2_gp_timer_interrupt+0x2c/0x3c) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.426451] r10:cd804c00 r9:c090269a r8:00000010 r7:00000000 r6:00000000 r5:c08c4b74 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.434356] r4:c08c4b74 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.436933] [<c0024710>] (omap2_gp_timer_interrupt) from [<c0069488>] (handle_irq_event_percpu+0x54/0x164) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.446640] [<c0069434>] (handle_irq_event_percpu) from [<c0069600>] (handle_irq_event+0x68/0x90) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.455550] r10:c08c0110 r9:c08c0118 r8:cd806000 r7:00000001 r6:00000000 r5:c08c4b74 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.463455] r4:cd804c00 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.466013] [<c0069598>] (handle_irq_event) from [<c006c2c8>] (handle_level_irq+0xa8/0x154) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.474401] r5:c08d7aec r4:cd804c00 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.478015] [<c006c220>] (handle_level_irq) from [<c0068d6c>] (generic_handle_irq+0x28/0x38) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.486490] r4:00000010 r3:c006c220 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.490107] [<c0068d44>] (generic_handle_irq) from [<c0068e8c>] (__handle_domain_irq+0x50/0xac) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.498844] r4:00000010 r3:000000bf Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.502459] [<c0068e3c>] (__handle_domain_irq) from [<c0009468>] (omap_intc_handle_irq+0xc8/0xd8) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.511370] r8:00000000 r7:c092dac0 r6:c08bff28 r5:c08d7d80 r4:00000044 r3:c08bff28 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.519204] [<c00093a0>] (omap_intc_handle_irq) from [<c064f500>] (__irq_svc+0x40/0x74) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.527246] Exception stack(0xc08bff28 to 0xc08bff70) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.532327] ff20: 00000001 00000000 00000000 c001fa60 c08c0110 00000000 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.540547] ff40: c08bff80 00000000 c08f7928 c08c0118 c08c0110 c08bff7c c08bff80 c08bff70 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.548764] ff60: c0010380 c0010384 60000013 ffffffff Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.553838] r8:c08f7928 r7:c08bff5c r6:ffffffff r5:60000013 r4:c0010384 r3:c0010380 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.561665] [<c001034c>] (arch_cpu_idle) from [<c0060ca4>] (cpu_startup_entry+0x1d8/0x254) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.569986] [<c0060acc>] (cpu_startup_entry) from [<c06461d4>] (rest_init+0x78/0x90) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.577763] r7:ffffffff Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.580336] [<c064615c>] (rest_init) from [<c0874cb0>] (start_kernel+0x360/0x3d0) Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.587851] r4:c0905050 r3:c08be000 Jul 8 21:22:18 am335x-evm user.warn kernel: [11699.591469] [<c0874950>] (start_kernel) from [<80008078>] (0x80008078)
各位大侠及ti的FAE能否给分析一下,可能是什么问题导致的? 从哪方面入手去定位一下比较靠谱一些??