lockdep badness
Nathan Lynch
ntl at pobox.com
Fri Jul 25 05:38:28 EST 2008
Nathan Lynch wrote:
>
> A couple of stack traces below, the first is from benh's tree, the
> second is from 2.6.26. The lockdep self-tests all pass at boot.
Sorry, should have pointed out the code that is warning more
specifically.
> RTAS daemon started
> RTAS: event: 295, Type: Dump Notification Event, Severity: 2
> ------------[ cut here ]------------
> Badness at kernel/lockdep.c:2719
check_flags():
if (irqs_disabled_flags(flags)) {
if (DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)) {
printk("possible reason: unannotated
irqs-off.\n");
}
} else {
>>> if (DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled)) {
printk("possible reason: unannotated
irqs-on.\n");
}
}
> NIP: c0000000000b06dc LR: c0000000000b06c0 CTR: 0000000000000000
> REGS: c0000000e787b9a0 TRAP: 0700 Not tainted (2.6.26)
> MSR: 8000000000029032 <EE,ME,IR,DR> CR: 24000042 XER: 20000000
> TASK = c0000000e91a6100[428] 'rtasd' THREAD: c0000000e7878000 CPU: 1
> GPR00: 0000000000000000 c0000000e787bc20 c000000000a71270 0000000000000001
> GPR04: 0000000000000001 c00000000004d648 0000040100000000 0000040100000000
> GPR08: 0000000000000000 c000000000f1f858 0000000000000020 0000000000000001
> GPR12: 0000000000010000 c000000000aac600 00000000002146f4 0000000000214744
> GPR16: 4000000002040000 00000000029015b0 00000000002a3c00 c0000000008cc988
> GPR20: 0000000002901598 0000000000000000 0000000000000124 0000000000000002
> GPR24: 0000000000000001 0000000000000008 0000000000000001 c0000000009fdf00
> GPR28: c00000000004d648 c000000000943e98 c0000000009d9b40 c0000000e787bc20
> NIP [c0000000000b06dc] .check_flags+0x9c/0x174
> LR [c0000000000b06c0] .check_flags+0x80/0x174
> Call Trace:
> [c0000000e787bc20] [c0000000e787bc70] 0xc0000000e787bc70 (unreliable)
> [c0000000e787bca0] [c0000000000b5ac8] .lock_release+0x7c/0x208
> [c0000000e787bd50] [c0000000005e12c0] ._spin_unlock_irqrestore+0x34/0x94
> [c0000000e787bde0] [c00000000004d648] .pSeries_log_error+0x380/0x3f0
> [c0000000e787bef0] [c00000000004d8e4] .rtasd+0x98/0x100
> [c0000000e787bf90] [c000000000029d20] .kernel_thread+0x4c/0x68
> Instruction dump:
> e92d01b0 80090904 2f800000 40be002c 481ece4d 60000000 2fa30000 419e00c4
> e93e80c0 80090000 2f800000 409e00b4 <0fe00000> 480000ac 78290464 80090014
> possible reason: unannotated irqs-on.
> irq event stamp: 20
> hardirqs last enabled at (19): [<c0000000000b405c>] .trace_hardirqs_on+0x1c/0x3
> 0
> hardirqs last disabled at (20): [<c0000000000b0d80>] .trace_hardirqs_off+0x1c/0x
> 30
> softirqs last enabled at (0): [<c00000000008293c>] .copy_process+0x3c8/0x1040
> softirqs last disabled at (0): [<0000000000000000>] 0x0
>
> ===============
>
> ipr: IBM Power RAID SCSI Device Driver version: 2.4.1 (April 24, 2007)
> ipr 0000:00:01.0: Found IOA with IRQ: 289
> ipr 0000:00:01.0: Starting IOA initialization sequence.
> ipr 0000:00:01.0: Adapter firmware version: 02200023
> ipr 0000:00:01.0: IOA initialized.
> ------------[ cut here ]------------
> Badness at kernel/lockdep.c:2037
trace_hardirqs_on():
if (DEBUG_LOCKS_WARN_ON(!irqs_disabled()))
return;
>>> if (DEBUG_LOCKS_WARN_ON(current->hardirq_context))
return;
> NIP: c0000000000b29fc LR: c0000000000b29e0 CTR: 0000000000000000
> REGS: c00000000fffb890 TRAP: 0700 Not tainted (2.6.26)
> MSR: 8000000000021032 <ME,IR,DR> CR: 28000022 XER: 00000004
> TASK = c000000000996730[0] 'swapper' THREAD: c000000000a60000 CPU: 0
> GPR00: 0000000000000000 c00000000fffbb10 c000000000a61ad8 0000000000000001
> GPR04: 0000000000035112 c000000000426708 0000000000000000 0000000000000970
> GPR08: 0000000000000000 c000000000ec6ad0 0000000000000001 0000000000000001
> GPR12: 0000000000043bd8 c000000000a9d400 00000000002146f4 0000000000214744
> GPR16: 4000000002040000 00000000028f37a8 00000000002a3c00 c0000000008b3790
> GPR20: 00000000028f3790 0000000001a3f920 c0000000008b37a8 c0000000e6252000
> GPR24: c0000000e6454a48 0000000000100100 0000000000200200 c0000000005d8824
> GPR28: c000000000afba18 c000000000996730 c0000000009cb7f0 c00000000fffbb10
> NIP [c0000000000b29fc] .trace_hardirqs_on+0x120/0x1b0
> LR [c0000000000b29e0] .trace_hardirqs_on+0x104/0x1b0
> Call Trace:
> [c00000000fffbb10] [c00000000fffbbb0] 0xc00000000fffbbb0 (unreliable)
> [c00000000fffbbb0] [c0000000005d8824] ._spin_unlock_irq+0x40/0x68
> [c00000000fffbc40] [c000000000426708] .ipr_ioa_reset_done+0x218/0x2ac
> [c00000000fffbd00] [c00000000041bdb8] .ipr_reset_ioa_job+0xc8/0xf4
> [c00000000fffbd90] [c000000000424ffc] .ipr_isr+0x280/0x628
> [c00000000fffbe50] [c0000000000ccc70] .handle_IRQ_event+0x58/0xd4
> [c00000000fffbef0] [c0000000000cef4c] .handle_fasteoi_irq+0x128/0x1c8
> [c00000000fffbf90] [c000000000029918] .call_handle_irq+0x1c/0x2c
> [c000000000a63a20] [c00000000000d9cc] .do_IRQ+0x138/0x248
> [c000000000a63ad0] [c000000000004ca8] hardware_interrupt_entry+0x28/0x2c
> --- Exception: 501 at .raw_local_irq_restore+0x8c/0xa4
> LR = .cpu_idle+0x140/0x210
> [c000000000a63e60] [c0000000005da07c] .rest_init+0x7c/0x98
> [c000000000a63ee0] [c000000000866f10] .start_kernel+0x488/0x4b0
> [c000000000a63f90] [c000000000008584] .start_here_common+0x4c/0xc8
> Instruction dump:
> e92d01b0 80090954 2f800000 41be002c 481e61fd 60000000 2fa30000 419e0080
> e93e80c0 80090000 2f800000 409e0070 <0fe00000> 48000068 7fa3eb78 38800001
> scsi0 : IBM 572C Storage Adapter
> scsi 0:3:0:0: Direct-Access IBM-ESXS ST973402SS B522 PQ: 0 ANSI: 5
More information about the Linuxppc-dev
mailing list