系统是单处理器,禁用CONfig_SMP.
[88798.449628] BUG: soft lockup - cpu#0 stuck for 61s! [slic_test:5207][88798.449628] Modules linked in: slic_xxxx leds_xxxx vortex86_spi dm_mirror dm_log dm_multipath dm_mod ohci_hcd ehci_hcd r6040 vortex86_wdt vortex86_gpio [last un][88798.449628] irq event stamp: 0[88798.449628] hardirqs last enabled at (0): [<00000000>] 0x0[88798.449628] hardirqs last Disabled at (0): [<c0115563>] copy_process+0x233/0x1090[88798.449628] softirqs last enabled at (0): [<c0115563>] copy_process+0x233/0x1090[88798.449628] softirqs last Disabled at (0): [<00000000>] 0x0[88798.449628][88798.449628] PID: 5207,comm: slic_test Not tainted (2.6.27.62 #11)[88798.449628] EIP: 0060:[<c011b6b5>] EFLAGS: 00000246 cpu: 0[88798.449628] EIP is at __do_softirq+0x45/0xb0[88798.449628] EAX: 00000000 EBX: 00000082 ECX: 00000001 EDX: dfac5080[88798.449628] ESI: c0696120 EDI: 0000000a EBP: df3bdf8c ESP: df3bdf80[88798.449628] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068[88798.449628] CR0: 8005003b CR2: b7622780 CR3: 1f3c8000 CR4: 00000000[88798.449628] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000[88798.449628] DR6: ffff0ff0 DR7: 00000400[88798.449628] [<c011b766>] do_softirq+0x46/0x50[88798.449628] [<c011bad5>] irq_exit+0x45/0x50[88798.449628] [<c01057ba>] do_IRQ+0x4a/0x90[88798.449628] [<c0103e68>] common_interrupt+0x28/0x30[88798.449628] =======================解决方法 呼叫追踪的存在/不存在表示软锁定的起源.
[88798.449628] [<c011b766>] do_softirq+0x46/0x50[88798.449628] [<c011bad5>] irq_exit+0x45/0x50[88798.449628] [<c01057ba>] do_IRQ+0x4a/0x90[88798.449628] [<c0103e68>] common_interrupt+0x28/0x30
> linux内核导致上述软锁定,如上面的call-trace所述.>如果用户空间进程导致软锁定,则会记录通过其pID标识进程的行,然后记录各种cpu寄存器的内容,而不记录任何类型的调用跟踪.
总结以上是内存溢出为你收集整理的linux – 如何区分内核中的软锁定和用户空间中的softlockup?全部内容,希望文章能够帮你解决linux – 如何区分内核中的软锁定和用户空间中的softlockup?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)