• 内核错误信息分析


    [  221.341000] bad: scheduling from the idle thread!
    [  221.341000] [<c0014e80>] (unwind_backtrace+0x0/0x138) from [<c0073390>] (dequeue_task_idle+0x1c/0x28)
    [  221.342000] [<c0073390>] (dequeue_task_idle+0x1c/0x28) from [<c006d8e0>] (dequeue_task+0xb4/0xc0)
    [  221.343000] [<c006d8e0>] (dequeue_task+0xb4/0xc0) from [<c06f08fc>] (__schedule+0x454/0x7d4)
    [  221.344000] [<c06f08fc>] (__schedule+0x454/0x7d4) from [<c06f1034>] (schedule_preempt_disabled+0x14/0x20)
    [  221.345000] [<c06f1034>] (schedule_preempt_disabled+0x14/0x20) from [<c000fbc8>] (cpu_idle+0xe8/0x104)
    [  221.346000] [<c000fbc8>] (cpu_idle+0xe8/0x104) from [<c0a107e0>] (start_kernel+0x2d4/0x330)
    在由tasklet实现的底半部的代码中有休眠,阻塞函数或可能造成休眠,阻塞的函数。在产生该对应的中断时会出现造成内核崩溃出现以上的打印信息。



    [  316.174000] BUG: scheduling while atomic: swapper/0/0/0x00010002
    [  316.174000] Modules linked in: btn_drv(O)
    [  316.174000] [<c0014e80>] (unwind_backtrace+0x0/0x138) from [<c06f0bf0>] (__schedule+0x748/0x7d4)
    [  316.174000] [<c06f0bf0>] (__schedule+0x748/0x7d4) from [<c06eee38>] (schedule_timeout+0x174/0x2f8)
    [  316.174000] [<c06eee38>] (schedule_timeout+0x174/0x2f8) from [<c00509d8>] (msleep+0x14/0x20)
    [  316.174000] [<c00509d8>] (msleep+0x14/0x20) from [<bf000050>] (btn_isr+0x10/0x78 [btn_drv])
    [  316.174000] [<bf000050>] (btn_isr+0x10/0x78 [btn_drv]) from [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8)
    [  316.174000] [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8) from [<c00b2a80>] (handle_irq_event+0x3c/0x5c)
    [  316.174000] [<c00b2a80>] (handle_irq_event+0x3c/0x5c) from [<c00b51a8>] (handle_level_irq+0xac/0xfc)
    [  316.174000] [<c00b51a8>] (handle_level_irq+0xac/0xfc) from [<c001e988>] (gpio_handler+0x90/0x174)
    [  316.174000] [<c001e988>] (gpio_handler+0x90/0x174) from [<c00b207c>] (generic_handle_irq+0x24/0x38)
    [  316.174000] [<c00b207c>] (generic_handle_irq+0x24/0x38) from [<c000f518>] (handle_IRQ+0x4c/0xb0)
    [  316.174000] [<c000f518>] (handle_IRQ+0x4c/0xb0) from [<c0008528>] (gic_handle_irq+0x24/0x58)
    [  316.174000] [<c0008528>] (gic_handle_irq+0x24/0x58) from [<c000e880>] (__irq_svc+0x40/0x70)
    [  316.174000] Exception stack(0xc0a4ff60 to 0xc0a4ffa8)
    [  316.174000] ff60: ffffffed 00000000 00a90000 00000000 c0a4e000 c0a4e000 c0ae7288 c06f62f4
    [  316.174000] ff80: c0a4e000 410fd033 c0a6c158 00000000 00000019 c0a4ffa8 c000f808 c000f80c
    [  316.174000] ffa0: 60000013 ffffffff
    [  316.174000] [<c000e880>] (__irq_svc+0x40/0x70) from [<c000f80c>] (default_idle+0x28/0x30)
    [  316.174000] [<c000f80c>] (default_idle+0x28/0x30) from [<c000fba8>] (cpu_idle+0xc8/0x104)
    [  316.174000] [<c000fba8>] (cpu_idle+0xc8/0x104) from [<c0a107e0>] (start_kernel+0x2d4/0x330)
    [  316.174000] bad: scheduling from the idle thread!
    [  316.174000] [<c0014e80>] (unwind_backtrace+0x0/0x138) from [<c0073390>] (dequeue_task_idle+0x1c/0x28)
    [  316.174000] [<c0073390>] (dequeue_task_idle+0x1c/0x28) from [<c006d8e0>] (dequeue_task+0xb4/0xc0)
    [  316.174000] [<c006d8e0>] (dequeue_task+0xb4/0xc0) from [<c06f08fc>] (__schedule+0x454/0x7d4)
    [  316.174000] [<c06f08fc>] (__schedule+0x454/0x7d4) from [<c06eee38>] (schedule_timeout+0x174/0x2f8)
    [  316.174000] [<c06eee38>] (schedule_timeout+0x174/0x2f8) from [<c00509d8>] (msleep+0x14/0x20)
    [  316.174000] [<c00509d8>] (msleep+0x14/0x20) from [<bf000050>] (btn_isr+0x10/0x78 [btn_drv])
    [  316.174000] [<bf000050>] (btn_isr+0x10/0x78 [btn_drv]) from [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8)
    [  316.174000] [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8) from [<c00b2a80>] (handle_irq_event+0x3c/0x5c)
    [  316.174000] [<c00b2a80>] (handle_irq_event+0x3c/0x5c) from [<c00b51a8>] (handle_level_irq+0xac/0xfc)
    [  316.174000] [<c00b51a8>] (handle_level_irq+0xac/0xfc) from [<c001e988>] (gpio_handler+0x90/0x174)
    [  316.174000] [<c001e988>] (gpio_handler+0x90/0x174) from [<c00b207c>] (generic_handle_irq+0x24/0x38)
    [  316.174000] [<c00b207c>] (generic_handle_irq+0x24/0x38) from [<c000f518>] (handle_IRQ+0x4c/0xb0)
    [  316.174000] [<c000f518>] (handle_IRQ+0x4c/0xb0) from [<c0008528>] (gic_handle_irq+0x24/0x58)
    [  316.174000] [<c0008528>] (gic_handle_irq+0x24/0x58) from [<c000e880>] (__irq_svc+0x40/0x70)
    [  316.174000] Exception stack(0xc0a4ff60 to 0xc0a4ffa8)
    [  316.174000] ff60: ffffffed 00000000 00a90000 00000000 c0a4e000 c0a4e000 c0ae7288 c06f62f4
    [  316.174000] ff80: c0a4e000 410fd033 c0a6c158 00000000 00000019 c0a4ffa8 c000f808 c000f80c
    [  316.174000] ffa0: 60000013 ffffffff
    [  316.174000] [<c000e880>] (__irq_svc+0x40/0x70) from [<c000f80c>] (default_idle+0x28/0x30)
    [  316.174000] [<c000f80c>] (default_idle+0x28/0x30) from [<c000fba8>] (cpu_idle+0xc8/0x104)
    [  316.174000] [<c000fba8>] (cpu_idle+0xc8/0x104) from [<c0a107e0>] (start_kernel+0x2d4/0x330)
    [  316.174000] ------------[ cut here ]------------
    [  316.174000] WARNING: at kernel/timer.c:1063 del_timer_sync+0x4c/0x54()
    [  316.174000] Modules linked in: btn_drv(O)
    [  316.174000] [<c0014e80>] (unwind_backtrace+0x0/0x138) from [<c0042814>] (warn_slowpath_common+0x4c/0x64)
    [  316.174000] [<c0042814>] (warn_slowpath_common+0x4c/0x64) from [<c0042848>] (warn_slowpath_null+0x1c/0x24)
    [  316.174000] [<c0042848>] (warn_slowpath_null+0x1c/0x24) from [<c004f584>] (del_timer_sync+0x4c/0x54)
    [  316.174000] [<c004f584>] (del_timer_sync+0x4c/0x54) from [<c06eee40>] (schedule_timeout+0x17c/0x2f8)
    [  316.174000] [<c06eee40>] (schedule_timeout+0x17c/0x2f8) from [<c00509d8>] (msleep+0x14/0x20)
    [  316.174000] [<c00509d8>] (msleep+0x14/0x20) from [<bf000050>] (btn_isr+0x10/0x78 [btn_drv])
    [  316.174000] [<bf000050>] (btn_isr+0x10/0x78 [btn_drv]) from [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8)
    [  316.174000] [<c00b27f4>] (handle_irq_event_percpu+0x58/0x2a8) from [<c00b2a80>] (handle_irq_event+0x3c/0x5c)
    [  316.174000] [<c00b2a80>] (handle_irq_event+0x3c/0x5c) from [<c00b51a8>] (handle_level_irq+0xac/0xfc)
    [  316.174000] [<c00b51a8>] (handle_level_irq+0xac/0xfc) from [<c001e988>] (gpio_handler+0x90/0x174)
    [  316.174000] [<c001e988>] (gpio_handler+0x90/0x174) from [<c00b207c>] (generic_handle_irq+0x24/0x38)
    [  316.174000] [<c00b207c>] (generic_handle_irq+0x24/0x38) from [<c000f518>] (handle_IRQ+0x4c/0xb0)
    [  316.174000] [<c000f518>] (handle_IRQ+0x4c/0xb0) from [<c0008528>] (gic_handle_irq+0x24/0x58)
    [  316.174000] [<c0008528>] (gic_handle_irq+0x24/0x58) from [<c000e880>] (__irq_svc+0x40/0x70)
    [  316.174000] Exception stack(0xc0a4ff60 to 0xc0a4ffa8)
    [  316.174000] ff60: ffffffed 00000000 00a90000 00000000 c0a4e000 c0a4e000 c0ae7288 c06f62f4
    [  316.174000] ff80: c0a4e000 410fd033 c0a6c158 00000000 00000019 c0a4ffa8 c000f808 c000f80c
    [  316.174000] ffa0: 60000013 ffffffff
    [  316.174000] [<c000e880>] (__irq_svc+0x40/0x70) from [<c000f80c>] (default_idle+0x28/0x30)
    [  316.174000] [<c000f80c>] (default_idle+0x28/0x30) from [<c000fba8>] (cpu_idle+0xc8/0x104)
    [  316.174000] [<c000fba8>] (cpu_idle+0xc8/0x104) from [<c0a107e0>] (start_kernel+0x2d4/0x330)
    [  316.174000] ---[ end trace 34a513405ae794cb ]---
    当在中断处理函数中调用休眠或可能造成休眠或者阻塞的函数是内核崩溃后给出的打印信息。本质上还是在中断释放了cpu资源。

  • 相关阅读:
    Intern Day7
    Intern Day7
    Intern Day7
    Intern Day6
    Intern Day6
    Intern Day6
    Intern Day6
    Intern Day6
    萧萧远树疏林外,一半秋山带夕阳
    飞线
  • 原文地址:https://www.cnblogs.com/DXGG-Bond/p/11867186.html
Copyright © 2020-2023  润新知