linux2.6.28高精度定时器引起死机

时间:2022-04-30 02:09:37
     linux版本号2.6.28,在arm11平台下,待机的时候偶然出现死机情况,错误信息如下:
CPU: 0    Not tainted  (2.6.28.6 #321)
PC is at __remove_hrtimer+0x48/0x70
LR is at hrtimer_run_pending+0x48/0xe0
pc : [<c0066288>]    lr : [<c0066e70>]    psr: 60000193
sp : cf8cdd88  ip : cf8cdda8  fp : cf8cdda4
r10: c0558e14  r9 : c0558da0  r8 : c050cc20
r7 : c050cbc0  r6 : 00000002  r5 : 00000000  r4 : cf82cbf4
r3 : 00000000  r2 : 00000002  r1 : 00000000  r0 : cf82cbf4
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 00c5387d  Table: 5f8b4008  DAC: 00000015
Process kt6300 (pid: 1154, stack limit = 0xcf8cc260)
Stack: (0xcf8cdd88 to 0xcf8ce000)
dd80:                   cf8cdda4 ffffffff cf82cbf4 00000000 cf8cddcc cf8cdda8 
dda0: c0066e70 c006624c cf8cc000 c050c368 c0558f60 cf8cc000 00000001 0000000a 
ddc0: cf8cde14 cf8cddd0 c0058af0 c0066e34 c00338d4 c00592cc c050a020 00000000 
dde0: cf8cddfc cf8cddf0 c050ef34 00000100 00000004 cf8cc000 00000001 0000000a 
de00: c0558da0 c0558e14 cf8cde4c cf8cde18 c0054298 c0058adc c0074788 c03ad1f0 
de20: 0000003c 0000003c 00000000 00000003 cf915000 cf1d0320 cf8cc000 00000000 
de40: cf8cde5c cf8cde50 c00545e4 c0054244 cf8cde74 cf8cde60 c002f068 c00545ac 
de60: ffffffff f4000000 cf8cdef4 cf8cde78 c002fa34 c002f00c 00000000 cea2c700 
de80: 00000012 00000012 0000541b cf915000 428846f4 cf915000 cf1d0320 cf8cc000 
dea0: 00000000 cf8cdef4 c04ab8a8 cf8cdec0 c01c9e0c c01c9ea0 80000013 ffffffff 
dec0: cf8cdedc cf8cded0 c03ad1bc c01b3628 c050c368 0000541b 428846f4 00000010 
dee0: cf1d0320 428846f4 cf8cdf0c cf8cdef8 c00ab828 c01c9de4 cf1d0320 428846f4 
df00: cf8cdf7c cf8cdf10 c00abcd0 c00ab800 c050a020 0033e188 00000030 cf8cdf18 
df20: c050ef34 00000100 00000004 cf8cc000 00000001 0000000a c0558da0 00000100 
df40: cf8cdf84 cf8cdf50 c0054314 c00541a8 c0074788 00000010 428846f4 0000541b 
df60: cf1d0320 c002ff68 cf8cc000 00000000 cf8cdfa4 cf8cdf80 c00abd60 c00ab8a4 
df80: 42884764 00000001 000d79f8 42884764 428847c0 00000036 00000000 cf8cdfa8 
dfa0: c002fdc0 c00abd2c 000d79f8 42884764 00000010 0000541b 428846f4 00000010 
dfc0: 000d79f8 42884764 428847c0 00000036 00000000 bedcabcc 00434ab8 4288470c 
dfe0: 40127814 428846e8 00068748 402a523c 60000010 00000010 00000000 00000000 
Backtrace: 
[<c0066240>] (__remove_hrtimer+0x0/0x70) from [<c0066e70>] (hrtimer_run_pending+0x48/0xe0)
 r6:00000000 r5:cf82cbf4 r4:ffffffff
[<c0066e28>] (hrtimer_run_pending+0x0/0xe0) from [<c0058af0>] (run_timer_softirq+0x20/0x1f0)
 r8:0000000a r7:00000001 r6:cf8cc000 r5:c0558f60 r4:c050c368
[<c0058ad0>] (run_timer_softirq+0x0/0x1f0) from [<c0054298>] (__do_softirq+0x60/0xf8)
[<c0054238>] (__do_softirq+0x0/0xf8) from [<c00545e4>] (irq_exit+0x44/0x4c)
[<c00545a0>] (irq_exit+0x0/0x4c) from [<c002f068>] (__exception_text_start+0x68/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fa34>] (__irq_svc+0x34/0x80)
Exception stack(0xcf8cde78 to 0xcf8cdec0)
de60:                                                       00000000 cea2c700 
de80: 00000012 00000012 0000541b cf915000 428846f4 cf915000 cf1d0320 cf8cc000 
dea0: 00000000 cf8cdef4 c04ab8a8 cf8cdec0 c01c9e0c c01c9ea0 80000013 ffffffff 
 r5:f4000000 r4:ffffffff
[<c01c9dd8>] (tty_ioctl+0x0/0x8ac) from [<c00ab828>] (vfs_ioctl+0x34/0x78)
 r8:428846f4 r7:cf1d0320 r6:00000010 r5:428846f4 r4:0000541b
[<c00ab7f4>] (vfs_ioctl+0x0/0x78) from [<c00abcd0>] (do_vfs_ioctl+0x438/0x488)
 r5:428846f4 r4:cf1d0320
[<c00ab898>] (do_vfs_ioctl+0x0/0x488) from [<c00abd60>] (sys_ioctl+0x40/0x64)
[<c00abd20>] (sys_ioctl+0x0/0x64) from [<c002fdc0>] (ret_fast_syscall+0x0/0x2c)
 r7:00000036 r6:428847c0 r5:42884764 r4:000d79f8
Code: e5823004 e580102c e5801030 ea000007 (e591300c) 
BUG: spinlock lockup on CPU#0, kt6300/1154, c050cbc0
[<c00341d4>] (dump_stack+0x0/0x14) from [<c01b37bc>] (_raw_spin_lock+0xf4/0x130)
[<c01b36c8>] (_raw_spin_lock+0x0/0x130) from [<c03ad27c>] (_spin_lock+0x10/0x14)
[<c03ad26c>] (_spin_lock+0x0/0x14) from [<c006642c>] (hrtimer_run_queues+0xe0/0x234)
[<c006634c>] (hrtimer_run_queues+0x0/0x234) from [<c0058ff0>] (run_local_timers+0x10/0x20)
[<c0058fe0>] (run_local_timers+0x0/0x20) from [<c00592ec>] (update_process_times+0x2c/0x5c)
[<c00592c0>] (update_process_times+0x0/0x5c) from [<c00338d4>] (timer_tick+0xf0/0x118)
 r5:00000000 r4:c050ce0c
[<c00337e4>] (timer_tick+0x0/0x118) from [<c003b544>] (s3c2410_timer_interrupt+0x10/0x18)
 r5:00000000 r4:c050a020
[<c003b534>] (s3c2410_timer_interrupt+0x0/0x18) from [<c0072a84>] (handle_IRQ_event+0x3c/0x74)
[<c0072a48>] (handle_IRQ_event+0x0/0x74) from [<c00747a8>] (handle_level_irq+0x104/0x120)
 r7:c050ef68 r6:c050a020 r5:00000064 r4:c050ef34
[<c00746a4>] (handle_level_irq+0x0/0x120) from [<c0039d24>] (s3c_irq_demux_timer+0x38/0x44)
 r7:0000003e r6:00000003 r5:cf8cdbc0 r4:0000003c
[<c0039cec>] (s3c_irq_demux_timer+0x0/0x44) from [<c0039da4>] (s3c_irq_demux_timer4+0x14/0x18)
[<c0039d90>] (s3c_irq_demux_timer4+0x0/0x18) from [<c002f064>] (__exception_text_start+0x64/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fa34>] (__irq_svc+0x34/0x80)
Exception stack(0xcf8cdb20 to 0xcf8cdb68)
db20: 0000003e cf009b60 ffffffff 00000000 cf009b60 0000003e cf009b60 0000003e 
db40: 00000017 0000000c cf80c340 cf8cdb84 cf8cdb88 cf8cdb68 c00747a8 c0072a6c 
db60: 60000113 ffffffff                                                       
 r5:f4000000 r4:ffffffff
[<c0072a48>] (handle_IRQ_event+0x0/0x74) from [<c00747a8>] (handle_level_irq+0x104/0x120)
 r7:c050e420 r6:cf009b60 r5:0000003e r4:c050e3ec
[<c00746a4>] (handle_level_irq+0x0/0x120) from [<c002f064>] (__exception_text_start+0x64/0x84)
 r7:c0487ecc r6:00000001 r5:cf8cde78 r4:0000003e
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fa34>] (__irq_svc+0x34/0x80)
Exception stack(0xcf8cdbc0 to 0xcf8cdc08)
dbc0: c0504950 c05388b0 ffffffff 00000001 cf8cdda4 00000001 cf8cdd40 c0487ecc 
dbe0: 00000017 0000000c cf80c340 cf8cdc14 cf8cdc08 cf8cdc08 c03ad1bc c03ad1c0 
dc00: 60000113 ffffffff                                                       
 r5:f4000000 r4:ffffffff
[<c03ad1ac>] (_spin_unlock_irq+0x0/0x18) from [<c0034090>] (die+0x168/0x1fc)
[<c0033f28>] (die+0x0/0x1fc) from [<c00363c4>] (__do_kernel_fault+0x6c/0x7c)
[<c0036358>] (__do_kernel_fault+0x0/0x7c) from [<c00365f0>] (do_page_fault+0x21c/0x23c)
 r7:cf8cdd40 r6:cf1e0000 r5:c0504a10 r4:ffffffff
[<c00363d4>] (do_page_fault+0x0/0x23c) from [<c002f254>] (do_DataAbort+0x3c/0xa0)
[<c002f218>] (do_DataAbort+0x0/0xa0) from [<c002f9ec>] (__dabt_svc+0x4c/0x60)
Exception stack(0xcf8cdd40 to 0xcf8cdd88)
dd40: cf82cbf4 00000000 00000002 00000000 cf82cbf4 00000000 00000002 c050cbc0 
dd60: c050cc20 c0558da0 c0558e14 cf8cdda4 cf8cdda8 cf8cdd88 c0066e70 c0066288 
dd80: 60000193 ffffffff                                                       
 r8:c050cc20 r7:c050cbc0 r6:00000002 r5:cf8cdd74 r4:ffffffff
[<c0066240>] (__remove_hrtimer+0x0/0x70) from [<c0066e70>] (hrtimer_run_pending+0x48/0xe0)
 r6:00000000 r5:cf82cbf4 r4:ffffffff
[<c0066e28>] (hrtimer_run_pending+0x0/0xe0) from [<c0058af0>] (run_timer_softirq+0x20/0x1f0)
 r8:0000000a r7:00000001 r6:cf8cc000 r5:c0558f60 r4:c050c368
[<c0058ad0>] (run_timer_softirq+0x0/0x1f0) from [<c0054298>] (__do_softirq+0x60/0xf8)
[<c0054238>] (__do_softirq+0x0/0xf8) from [<c00545e4>] (irq_exit+0x44/0x4c)
[<c00545a0>] (irq_exit+0x0/0x4c) from [<c002f068>] (__exception_text_start+0x68/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fa34>] (__irq_svc+0x34/0x80)
Exception stack(0xcf8cde78 to 0xcf8cdec0)
de60:                                                       00000000 cea2c700 
de80: 00000012 00000012 0000541b cf915000 428846f4 cf915000 cf1d0320 cf8cc000 
dea0: 00000000 cf8cdef4 c04ab8a8 cf8cdec0 c01c9e0c c01c9ea0 80000013 ffffffff 
 r5:f4000000 r4:ffffffff
[<c01c9dd8>] (tty_ioctl+0x0/0x8ac) from [<c00ab828>] (vfs_ioctl+0x34/0x78)
 r8:428846f4 r7:cf1d0320 r6:00000010 r5:428846f4 r4:0000541b
[<c00ab7f4>] (vfs_ioctl+0x0/0x78) from [<c00abcd0>] (do_vfs_ioctl+0x438/0x488)
 r5:428846f4 r4:cf1d0320
[<c00ab898>] (do_vfs_ioctl+0x0/0x488) from [<c00abd60>] (sys_ioctl+0x40/0x64)
[<c00abd20>] (sys_ioctl+0x0/0x64) from [<c002fdc0>] (ret_fast_syscall+0x0/0x2c)
 r7:00000036 r6:428847c0 r5:42884764 r4:000d79f8
     不知道是什么原因造成的,求助。

4 个解决方案

#1


不好意思,错误信息没发全:
Unable to handle kernel NULL pointer dereference at virtual address 0000000c
pgd = cf8c8000
[0000000c] *pgd=5f816031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: ps_mouse ps_keyboard kt6400_dev
CPU: 0    Not tainted  (2.6.28.6 #321)
PC is at __remove_hrtimer+0x48/0x70
LR is at hrtimer_run_pending+0x48/0xe0
pc : [<c0066288>]    lr : [<c0066e70>]    psr: 60000193
sp : cf8c1ec0  ip : cf8c1ee0  fp : cf8c1edc
r10: c0558e14  r9 : c0558da0  r8 : c050cc20
r7 : c050cbc0  r6 : 00000002  r5 : 00000000  r4 : cf82cbf4
r3 : 00000001  r2 : 00000002  r1 : 00000000  r0 : cf82cbf4
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 00c5387d  Table: 5f8c8008  DAC: 00000015
Process kt6300 (pid: 1158, stack limit = 0xcf8c0260)
Stack: (0xcf8c1ec0 to 0xcf8c2000)
1ec0: cf8c1edc fffffffe cf82cbf4 00000000 cf8c1f04 cf8c1ee0 c0066e70 c006624c 
1ee0: cf8c0000 c050c368 c0558f60 cf8c0000 00000001 0000000a cf8c1f4c cf8c1f08 
1f00: c0058af0 c0066e34 c00338d4 c00592cc c050a020 00000000 cf8c1f34 cf8c1f28 
1f20: c050ef34 00000100 00000004 cf8c0000 00000001 0000000a c0558da0 c0558e14 
1f40: cf8c1f84 cf8c1f50 c0054298 c0058adc c0074788 c03ad1f0 0000003c 0000003c 
1f60: 00000000 00000003 40127814 00000000 cf8c0000 00434ab8 cf8c1f94 cf8c1f88 
1f80: c00545e4 c0054244 cf8c1fac cf8c1f98 c002f068 c00545ac ffffffff f4000000 
1fa0: 00000000 cf8c1fb0 c002fbfc c002f00c 00442a80 0000000b 402ad428 00000000 
1fc0: 000d79f8 428847ac 42884808 40127814 00000000 000000ef 00434ab8 42884b44 
1fe0: 40127600 42884770 4011c4fc 40107600 20000010 ffffffff 65636976 6c630073 
Backtrace: 
[<c0066240>] (__remove_hrtimer+0x0/0x70) from [<c0066e70>] (hrtimer_run_pending+0x48/0xe0)
 r6:00000000 r5:cf82cbf4 r4:fffffffe
[<c0066e28>] (hrtimer_run_pending+0x0/0xe0) from [<c0058af0>] (run_timer_softirq+0x20/0x1f0)
 r8:0000000a r7:00000001 r6:cf8c0000 r5:c0558f60 r4:c050c368
[<c0058ad0>] (run_timer_softirq+0x0/0x1f0) from [<c0054298>] (__do_softirq+0x60/0xf8)
[<c0054238>] (__do_softirq+0x0/0xf8) from [<c00545e4>] (irq_exit+0x44/0x4c)
[<c00545a0>] (irq_exit+0x0/0x4c) from [<c002f068>] (__exception_text_start+0x68/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fbfc>] (__irq_usr+0x3c/0x80)
Exception stack(0xcf8c1fb0 to 0xcf8c1ff8)
1fa0:                                     00442a80 0000000b 402ad428 00000000 
1fc0: 000d79f8 428847ac 42884808 40127814 00000000 000000ef 00434ab8 42884b44 
1fe0: 40127600 42884770 4011c4fc 40107600 20000010 ffffffff                   
 r5:f4000000 r4:ffffffff
Code: e5823004 e580102c e5801030 ea000007 (e591300c) 
BUG: spinlock lockup on CPU#0, kt6300/1158, c050cbc0
[<c00341d4>] (dump_stack+0x0/0x14) from [<c01b37bc>] (_raw_spin_lock+0xf4/0x130)
[<c01b36c8>] (_raw_spin_lock+0x0/0x130) from [<c03ad27c>] (_spin_lock+0x10/0x14)
[<c03ad26c>] (_spin_lock+0x0/0x14) from [<c006642c>] (hrtimer_run_queues+0xe0/0x234)
[<c006634c>] (hrtimer_run_queues+0x0/0x234) from [<c0058ff0>] (run_local_timers+0x10/0x20)
[<c0058fe0>] (run_local_timers+0x0/0x20) from [<c00592ec>] (update_process_times+0x2c/0x5c)
[<c00592c0>] (update_process_times+0x0/0x5c) from [<c00338d4>] (timer_tick+0xf0/0x118)
 r5:00000000 r4:c050ce0c
[<c00337e4>] (timer_tick+0x0/0x118) from [<c003b544>] (s3c2410_timer_interrupt+0x10/0x18)
 r5:00000000 r4:c050a020
[<c003b534>] (s3c2410_timer_interrupt+0x0/0x18) from [<c0072a84>] (handle_IRQ_event+0x3c/0x74)
[<c0072a48>] (handle_IRQ_event+0x0/0x74) from [<c00747a8>] (handle_level_irq+0x104/0x120)
 r7:c050ef68 r6:c050a020 r5:00000064 r4:c050ef34
[<c00746a4>] (handle_level_irq+0x0/0x120) from [<c0039d24>] (s3c_irq_demux_timer+0x38/0x44)
 r7:0000003e r6:00000003 r5:cf8c1cf8 r4:0000003c
[<c0039cec>] (s3c_irq_demux_timer+0x0/0x44) from [<c0039da4>] (s3c_irq_demux_timer4+0x14/0x18)
[<c0039d90>] (s3c_irq_demux_timer4+0x0/0x18) from [<c002f064>] (__exception_text_start+0x64/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fa34>] (__irq_svc+0x34/0x80)
Exception stack(0xcf8c1c58 to 0xcf8c1ca0)
1c40:                                                       0000003e cf009b60 
1c60: ffffffff 00000000 cf009b60 0000003e cf009b60 0000003e 00000017 0000000c 
1c80: cf8404e0 cf8c1cbc cf8c1cc0 cf8c1ca0 c00747a8 c0072a6c 60000113 ffffffff 
 r5:f4000000 r4:ffffffff
[<c0072a48>] (handle_IRQ_event+0x0/0x74) from [<c00747a8>] (handle_level_irq+0x104/0x120)
 r7:c050e420 r6:cf009b60 r5:0000003e r4:c050e3ec
[<c00746a4>] (handle_level_irq+0x0/0x120) from [<c002f064>] (__exception_text_start+0x64/0x84)
 r7:c0487ecc r6:00000001 r5:cf8c1fb0 r4:0000003e
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fa34>] (__irq_svc+0x34/0x80)
Exception stack(0xcf8c1cf8 to 0xcf8c1d40)
1ce0:                                                       c0504950 c05388b0 
1d00: ffffffff 00000001 cf8c1edc 00000001 cf8c1e78 c0487ecc 00000017 0000000c 
1d20: cf8404e0 cf8c1d4c cf8c1d40 cf8c1d40 c03ad1bc c03ad1c0 60000113 ffffffff 
 r5:f4000000 r4:ffffffff
[<c03ad1ac>] (_spin_unlock_irq+0x0/0x18) from [<c0034090>] (die+0x168/0x1fc)
[<c0033f28>] (die+0x0/0x1fc) from [<c00363c4>] (__do_kernel_fault+0x6c/0x7c)
[<c0036358>] (__do_kernel_fault+0x0/0x7c) from [<c00365f0>] (do_page_fault+0x21c/0x23c)
 r7:cf8c1e78 r6:cf1e1d40 r5:c0504a10 r4:ffffffff
[<c00363d4>] (do_page_fault+0x0/0x23c) from [<c002f254>] (do_DataAbort+0x3c/0xa0)
[<c002f218>] (do_DataAbort+0x0/0xa0) from [<c002f9ec>] (__dabt_svc+0x4c/0x60)
Exception stack(0xcf8c1e78 to 0xcf8c1ec0)
1e60:                                                       cf82cbf4 00000000 
1e80: 00000002 00000001 cf82cbf4 00000000 00000002 c050cbc0 c050cc20 c0558da0 
1ea0: c0558e14 cf8c1edc cf8c1ee0 cf8c1ec0 c0066e70 c0066288 60000193 ffffffff 
 r8:c050cc20 r7:c050cbc0 r6:00000002 r5:cf8c1eac r4:ffffffff
[<c0066240>] (__remove_hrtimer+0x0/0x70) from [<c0066e70>] (hrtimer_run_pending+0x48/0xe0)
 r6:00000000 r5:cf82cbf4 r4:fffffffe
[<c0066e28>] (hrtimer_run_pending+0x0/0xe0) from [<c0058af0>] (run_timer_softirq+0x20/0x1f0)
 r8:0000000a r7:00000001 r6:cf8c0000 r5:c0558f60 r4:c050c368
[<c0058ad0>] (run_timer_softirq+0x0/0x1f0) from [<c0054298>] (__do_softirq+0x60/0xf8)
[<c0054238>] (__do_softirq+0x0/0xf8) from [<c00545e4>] (irq_exit+0x44/0x4c)
[<c00545a0>] (irq_exit+0x0/0x4c) from [<c002f068>] (__exception_text_start+0x68/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fbfc>] (__irq_usr+0x3c/0x80)
Exception stack(0xcf8c1fb0 to 0xcf8c1ff8)
1fa0:                                     00442a80 0000000b 402ad428 00000000 
1fc0: 000d79f8 428847ac 42884808 40127814 00000000 000000ef 00434ab8 42884b44 
1fe0: 40127600 42884770 4011c4fc 40107600 20000010 ffffffff                   
 r5:f4000000 r4:ffffffff

#2


网上搜了下,貌似是驱动的问题
好高深,不懂~~
他把栈都打出来了,看看是驱动的哪个函数不对了~~~
linux2.6.28高精度定时器引起死机

#3


查查 spin_lock 
[<c00341d4>] (dump_stack+0x0/0x14) from [<c01b37bc>] (_raw_spin_lock+0xf4/0x130)
[<c01b36c8>] (_raw_spin_lock+0x0/0x130) from [<c03ad27c>] (_spin_lock+0x10/0x14)
[<c03ad26c>] (_spin_lock+0x0/0x14) from [<c006642c>] (hrtimer_run_queues+0xe0/0x234)
貌似有死锁, 另外, 是不是在中断里有耗时的操作?

#4


谢谢 关注。
这个问题很奇怪,一直开着机,有时候5天出现一次,有时候可能就半个小时,而且不是每台机子都会出现。

#1


不好意思,错误信息没发全:
Unable to handle kernel NULL pointer dereference at virtual address 0000000c
pgd = cf8c8000
[0000000c] *pgd=5f816031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: ps_mouse ps_keyboard kt6400_dev
CPU: 0    Not tainted  (2.6.28.6 #321)
PC is at __remove_hrtimer+0x48/0x70
LR is at hrtimer_run_pending+0x48/0xe0
pc : [<c0066288>]    lr : [<c0066e70>]    psr: 60000193
sp : cf8c1ec0  ip : cf8c1ee0  fp : cf8c1edc
r10: c0558e14  r9 : c0558da0  r8 : c050cc20
r7 : c050cbc0  r6 : 00000002  r5 : 00000000  r4 : cf82cbf4
r3 : 00000001  r2 : 00000002  r1 : 00000000  r0 : cf82cbf4
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 00c5387d  Table: 5f8c8008  DAC: 00000015
Process kt6300 (pid: 1158, stack limit = 0xcf8c0260)
Stack: (0xcf8c1ec0 to 0xcf8c2000)
1ec0: cf8c1edc fffffffe cf82cbf4 00000000 cf8c1f04 cf8c1ee0 c0066e70 c006624c 
1ee0: cf8c0000 c050c368 c0558f60 cf8c0000 00000001 0000000a cf8c1f4c cf8c1f08 
1f00: c0058af0 c0066e34 c00338d4 c00592cc c050a020 00000000 cf8c1f34 cf8c1f28 
1f20: c050ef34 00000100 00000004 cf8c0000 00000001 0000000a c0558da0 c0558e14 
1f40: cf8c1f84 cf8c1f50 c0054298 c0058adc c0074788 c03ad1f0 0000003c 0000003c 
1f60: 00000000 00000003 40127814 00000000 cf8c0000 00434ab8 cf8c1f94 cf8c1f88 
1f80: c00545e4 c0054244 cf8c1fac cf8c1f98 c002f068 c00545ac ffffffff f4000000 
1fa0: 00000000 cf8c1fb0 c002fbfc c002f00c 00442a80 0000000b 402ad428 00000000 
1fc0: 000d79f8 428847ac 42884808 40127814 00000000 000000ef 00434ab8 42884b44 
1fe0: 40127600 42884770 4011c4fc 40107600 20000010 ffffffff 65636976 6c630073 
Backtrace: 
[<c0066240>] (__remove_hrtimer+0x0/0x70) from [<c0066e70>] (hrtimer_run_pending+0x48/0xe0)
 r6:00000000 r5:cf82cbf4 r4:fffffffe
[<c0066e28>] (hrtimer_run_pending+0x0/0xe0) from [<c0058af0>] (run_timer_softirq+0x20/0x1f0)
 r8:0000000a r7:00000001 r6:cf8c0000 r5:c0558f60 r4:c050c368
[<c0058ad0>] (run_timer_softirq+0x0/0x1f0) from [<c0054298>] (__do_softirq+0x60/0xf8)
[<c0054238>] (__do_softirq+0x0/0xf8) from [<c00545e4>] (irq_exit+0x44/0x4c)
[<c00545a0>] (irq_exit+0x0/0x4c) from [<c002f068>] (__exception_text_start+0x68/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fbfc>] (__irq_usr+0x3c/0x80)
Exception stack(0xcf8c1fb0 to 0xcf8c1ff8)
1fa0:                                     00442a80 0000000b 402ad428 00000000 
1fc0: 000d79f8 428847ac 42884808 40127814 00000000 000000ef 00434ab8 42884b44 
1fe0: 40127600 42884770 4011c4fc 40107600 20000010 ffffffff                   
 r5:f4000000 r4:ffffffff
Code: e5823004 e580102c e5801030 ea000007 (e591300c) 
BUG: spinlock lockup on CPU#0, kt6300/1158, c050cbc0
[<c00341d4>] (dump_stack+0x0/0x14) from [<c01b37bc>] (_raw_spin_lock+0xf4/0x130)
[<c01b36c8>] (_raw_spin_lock+0x0/0x130) from [<c03ad27c>] (_spin_lock+0x10/0x14)
[<c03ad26c>] (_spin_lock+0x0/0x14) from [<c006642c>] (hrtimer_run_queues+0xe0/0x234)
[<c006634c>] (hrtimer_run_queues+0x0/0x234) from [<c0058ff0>] (run_local_timers+0x10/0x20)
[<c0058fe0>] (run_local_timers+0x0/0x20) from [<c00592ec>] (update_process_times+0x2c/0x5c)
[<c00592c0>] (update_process_times+0x0/0x5c) from [<c00338d4>] (timer_tick+0xf0/0x118)
 r5:00000000 r4:c050ce0c
[<c00337e4>] (timer_tick+0x0/0x118) from [<c003b544>] (s3c2410_timer_interrupt+0x10/0x18)
 r5:00000000 r4:c050a020
[<c003b534>] (s3c2410_timer_interrupt+0x0/0x18) from [<c0072a84>] (handle_IRQ_event+0x3c/0x74)
[<c0072a48>] (handle_IRQ_event+0x0/0x74) from [<c00747a8>] (handle_level_irq+0x104/0x120)
 r7:c050ef68 r6:c050a020 r5:00000064 r4:c050ef34
[<c00746a4>] (handle_level_irq+0x0/0x120) from [<c0039d24>] (s3c_irq_demux_timer+0x38/0x44)
 r7:0000003e r6:00000003 r5:cf8c1cf8 r4:0000003c
[<c0039cec>] (s3c_irq_demux_timer+0x0/0x44) from [<c0039da4>] (s3c_irq_demux_timer4+0x14/0x18)
[<c0039d90>] (s3c_irq_demux_timer4+0x0/0x18) from [<c002f064>] (__exception_text_start+0x64/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fa34>] (__irq_svc+0x34/0x80)
Exception stack(0xcf8c1c58 to 0xcf8c1ca0)
1c40:                                                       0000003e cf009b60 
1c60: ffffffff 00000000 cf009b60 0000003e cf009b60 0000003e 00000017 0000000c 
1c80: cf8404e0 cf8c1cbc cf8c1cc0 cf8c1ca0 c00747a8 c0072a6c 60000113 ffffffff 
 r5:f4000000 r4:ffffffff
[<c0072a48>] (handle_IRQ_event+0x0/0x74) from [<c00747a8>] (handle_level_irq+0x104/0x120)
 r7:c050e420 r6:cf009b60 r5:0000003e r4:c050e3ec
[<c00746a4>] (handle_level_irq+0x0/0x120) from [<c002f064>] (__exception_text_start+0x64/0x84)
 r7:c0487ecc r6:00000001 r5:cf8c1fb0 r4:0000003e
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fa34>] (__irq_svc+0x34/0x80)
Exception stack(0xcf8c1cf8 to 0xcf8c1d40)
1ce0:                                                       c0504950 c05388b0 
1d00: ffffffff 00000001 cf8c1edc 00000001 cf8c1e78 c0487ecc 00000017 0000000c 
1d20: cf8404e0 cf8c1d4c cf8c1d40 cf8c1d40 c03ad1bc c03ad1c0 60000113 ffffffff 
 r5:f4000000 r4:ffffffff
[<c03ad1ac>] (_spin_unlock_irq+0x0/0x18) from [<c0034090>] (die+0x168/0x1fc)
[<c0033f28>] (die+0x0/0x1fc) from [<c00363c4>] (__do_kernel_fault+0x6c/0x7c)
[<c0036358>] (__do_kernel_fault+0x0/0x7c) from [<c00365f0>] (do_page_fault+0x21c/0x23c)
 r7:cf8c1e78 r6:cf1e1d40 r5:c0504a10 r4:ffffffff
[<c00363d4>] (do_page_fault+0x0/0x23c) from [<c002f254>] (do_DataAbort+0x3c/0xa0)
[<c002f218>] (do_DataAbort+0x0/0xa0) from [<c002f9ec>] (__dabt_svc+0x4c/0x60)
Exception stack(0xcf8c1e78 to 0xcf8c1ec0)
1e60:                                                       cf82cbf4 00000000 
1e80: 00000002 00000001 cf82cbf4 00000000 00000002 c050cbc0 c050cc20 c0558da0 
1ea0: c0558e14 cf8c1edc cf8c1ee0 cf8c1ec0 c0066e70 c0066288 60000193 ffffffff 
 r8:c050cc20 r7:c050cbc0 r6:00000002 r5:cf8c1eac r4:ffffffff
[<c0066240>] (__remove_hrtimer+0x0/0x70) from [<c0066e70>] (hrtimer_run_pending+0x48/0xe0)
 r6:00000000 r5:cf82cbf4 r4:fffffffe
[<c0066e28>] (hrtimer_run_pending+0x0/0xe0) from [<c0058af0>] (run_timer_softirq+0x20/0x1f0)
 r8:0000000a r7:00000001 r6:cf8c0000 r5:c0558f60 r4:c050c368
[<c0058ad0>] (run_timer_softirq+0x0/0x1f0) from [<c0054298>] (__do_softirq+0x60/0xf8)
[<c0054238>] (__do_softirq+0x0/0xf8) from [<c00545e4>] (irq_exit+0x44/0x4c)
[<c00545a0>] (irq_exit+0x0/0x4c) from [<c002f068>] (__exception_text_start+0x68/0x84)
[<c002f000>] (__exception_text_start+0x0/0x84) from [<c002fbfc>] (__irq_usr+0x3c/0x80)
Exception stack(0xcf8c1fb0 to 0xcf8c1ff8)
1fa0:                                     00442a80 0000000b 402ad428 00000000 
1fc0: 000d79f8 428847ac 42884808 40127814 00000000 000000ef 00434ab8 42884b44 
1fe0: 40127600 42884770 4011c4fc 40107600 20000010 ffffffff                   
 r5:f4000000 r4:ffffffff

#2


网上搜了下,貌似是驱动的问题
好高深,不懂~~
他把栈都打出来了,看看是驱动的哪个函数不对了~~~
linux2.6.28高精度定时器引起死机

#3


查查 spin_lock 
[<c00341d4>] (dump_stack+0x0/0x14) from [<c01b37bc>] (_raw_spin_lock+0xf4/0x130)
[<c01b36c8>] (_raw_spin_lock+0x0/0x130) from [<c03ad27c>] (_spin_lock+0x10/0x14)
[<c03ad26c>] (_spin_lock+0x0/0x14) from [<c006642c>] (hrtimer_run_queues+0xe0/0x234)
貌似有死锁, 另外, 是不是在中断里有耗时的操作?

#4


谢谢 关注。
这个问题很奇怪,一直开着机,有时候5天出现一次,有时候可能就半个小时,而且不是每台机子都会出现。