On a OMAP3503 (Gumstix Overo) I see a rather nasty-looking crash early in bootup, that is triggered by CONFIG_PROVE_LOCKING. The same config minus CONFIG_PROVE_LOCKING doesn't crash, and seems to work correctly in use. This kernel and similar config worked and passed the PROVE_LOCKING test last time I checked it, which would have been shortly after -rt6 was released. Kernel config attached. Here is the bootup log: <5>Linux version 2.6.29.4-rt16-omap1 (hugo@hugo) (gcc version 4.3.3 (GCC) ) #1 PREEMPT RT Wed Jun 3 14:22:13 NZST 2009 CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c5387f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: Gumstix Overo Memory policy: ECC disabled, Data cache writeback <7>On node 0 totalpages: 65536 <7>free_area_init_node: node 0, pgdat c042d8a4, node_mem_map c0874000 <7> Normal zone: 512 pages used for memmap <7> Normal zone: 0 pages reserved <7> Normal zone: 65024 pages, LIFO batch:15 <6>OMAP3430 ES2.1 <6>SRAM: Mapped pa 0x40200000 to va 0xd7000000 size: 0x100000 Real-Time Preemption Support (C) 2004-2007 Ingo Molnar Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 <5>Kernel command line: console=ttyS6,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait <5>Preemptible RCU implementation. <6>NR_IRQS:402 <6>Clocking rate (Crystal/DPLL/ARM core): 26.0/331/600 MHz <6>GPMC revision 5.0 <6>IRQ: Found an INTC at 0xd8200000 (revision 4.0) with 96 interrupts <6>Total of 96 interrupts on 1 active controller <6>OMAP34xx GPIO hardware version 2.5 PID hash table entries: 1024 (order: 10, 4096 bytes) <6>OMAP clockevent source: GPTIMER1 at 13000000 Hz Console: colour dummy device 80x30 Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar ... MAX_LOCKDEP_SUBCLASSES: 8 ... MAX_LOCK_DEPTH: 48 ... MAX_LOCKDEP_KEYS: 8191 ... CLASSHASH_SIZE: 4096 ... MAX_LOCKDEP_ENTRIES: 8192 ... MAX_LOCKDEP_CHAINS: 16384 ... CHAINHASH_SIZE: 8192 memory used by lock dependency info: 2911 kB per task-struct memory footprint: 1152 bytes ------------------------ | Locking API testsuite: ---------------------------------------------------------------------------- | spin |wlock |rlock |mutex | wsem | rsem | -------------------------------------------------------------------------- A-A deadlock: ok | ok | ok | ok | ok | ok | A-B-B-A deadlock: ok | ok | ok | ok | ok | ok | A-B-B-C-C-A deadlock: ok | ok | ok | ok | ok | ok | A-B-C-A-B-C deadlock: ok | ok | ok | ok | ok | ok | A-B-B-C-C-D-D-A deadlock: ok | ok | ok | ok | ok | ok | A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok | ok | ok | A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok | ok | ok | double unlock: ok | ok |<2>kernel BUG at kernel/rt.c:257! <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000 <1>pgd = c0004000 <1>[00000000] *pgd=00000000 Internal error: Oops: 805 [#1] PREEMPT Modules linked in: CPU: 0 Not tainted (2.6.29.4-rt16-omap1 #1) PC is at __bug+0x20/0x2c LR is at rt_up+0x48/0x64 pc : [<c002c214>] lr : [<c007d11c>] psr: 00000153 sp : c03e9f40 ip : c03e9e68 fp : c03e9f4c r10: 0000001f r9 : 411fc082 r8 : 00000001 r7 : 00000002 r6 : 00000001 r5 : 00000000 r4 : c041c8b0 r3 : 00000000 r2 : 00000001 r1 : 00000001 r0 : 00000022 Flags: nzcv IRQs on FIQs off Mode SVC_32 ISA ARM Segment kernel Control: 10c5387f Table: 80004019 DAC: 00000017 Process swapper (pid: 0, stack limit = 0xc03e82f0) Stack: (0xc03e9f40 to 0xc03ea000) 9f40: c03e9f64 c03e9f50 c02f8e50 c002c200 c041c8b0 c041c8b0 c03e9f7c c03e9f68 9f60: c01c4a58 c02f8e20 c03e9f58 c01c4a2c c03e9fa4 c03e9f80 c01c2d5c c01c4a38 9f80: c02f61f8 c042e650 c042e644 c041c008 c03ecd58 80023094 c03e9fc4 c03e9fa8 9fa0: c01c35e8 c01c2d18 c03929ef c042e650 c042e644 c0024d58 c03e9ff4 c03e9fc8 9fc0: c0008b1c c01c320c c00086c4 00000000 00000000 c0024d58 00000000 10c5387d 9fe0: c042e6c0 c002515c 00000000 c03e9ff8 80008034 c0008974 00000000 00000000 Backtrace: [<c002c1f4>] (__bug+0x0/0x2c) from [<c02f8e50>] (rt_read_unlock+0x3c/0x5c) [<c02f8e14>] (rt_read_unlock+0x0/0x5c) from [<c01c4a58>] (double_unlock_rlock+0x2c/0x34) r4:c041c8b0 [<c01c4a2c>] (double_unlock_rlock+0x0/0x34) from [<c01c2d5c>] (dotest+0x50/0x4f4) r4:c01c4a2c [<c01c2d0c>] (dotest+0x0/0x4f4) from [<c01c35e8>] (locking_selftest+0x3e8/0x8b0) r8:80023094 r7:c03ecd58 r6:c041c008 r5:c042e644 r4:c042e650 [<c01c3200>] (locking_selftest+0x0/0x8b0) from [<c0008b1c>] (start_kernel+0x1b4/0x294) r6:c0024d58 r5:c042e644 r4:c042e650 [<c0008968>] (start_kernel+0x0/0x294) from [<80008034>] (0x80008034) r6:c002515c r5:c042e6c0 r4:10c5387d Code: e1a01000 e59f000c eb0b27f2 e3a03000 (e5833000) <4>---[ end trace 1b75b31a2719ed1c ]--- <0>Kernel panic - not syncing: Attempted to kill the idle task! [<c02f609c>] (dump_stack+0x0/0x14) from [<c02f60f4>] (panic+0x44/0x12c) [<c02f60b0>] (panic+0x0/0x12c) from [<c00536cc>] (do_exit+0x70/0x764) r3:00000000 r2:c03e8000 r1:00000001 r0:c0390942 [<c005365c>] (do_exit+0x0/0x764) from [<c002c74c>] (die+0x2a4/0x304) [<c002c4a8>] (die+0x0/0x304) from [<c002e068>] (__do_kernel_fault+0x6c/0x7c) [<c002dffc>] (__do_kernel_fault+0x0/0x7c) from [<c002e2b8>] (do_page_fault+0x240/0x260) r7:c03e9ef8 r6:00000805 r5:c03eb0c8 r4:ffffffff [<c002e078>] (do_page_fault+0x0/0x260) from [<c002e37c>] (do_translation_fault+0x18/0x7c) [<c002e364>] (do_translation_fault+0x0/0x7c) from [<c00281fc>] (do_DataAbort+0x38/0x9c) r7:c03e9ef8 r6:00000805 r5:c03ed150 r4:ffffffff [<c00281c4>] (do_DataAbort+0x0/0x9c) from [<c0028a2c>] (__dabt_svc+0x4c/0x60) Exception stack(0xc03e9ef8 to 0xc03e9f40) 9ee0: 00000022 00000001 9f00: 00000001 00000000 c041c8b0 00000000 00000001 00000002 00000001 411fc082 9f20: 0000001f c03e9f4c c03e9e68 c03e9f40 c007d11c c002c214 00000153 ffffffff r8:00000001 r7:00000002 r6:00000001 r5:c03e9f2c r4:ffffffff [<c002c1f4>] (__bug+0x0/0x2c) from [<c02f8e50>] (rt_read_unlock+0x3c/0x5c) [<c02f8e14>] (rt_read_unlock+0x0/0x5c) from [<c01c4a58>] (double_unlock_rlock+0x2c/0x34) r4:c041c8b0 [<c01c4a2c>] (double_unlock_rlock+0x0/0x34) from [<c01c2d5c>] (dotest+0x50/0x4f4) r4:c01c4a2c [<c01c2d0c>] (dotest+0x0/0x4f4) from [<c01c35e8>] (locking_selftest+0x3e8/0x8b0) r8:80023094 r7:c03ecd58 r6:c041c008 r5:c042e644 r4:c042e650 [<c01c3200>] (locking_selftest+0x0/0x8b0) from [<c0008b1c>] (start_kernel+0x1b4/0x294) r6:c0024d58 r5:c042e644 r4:c042e650 [<c0008968>] (start_kernel+0x0/0x294) from [<80008034>] (0x80008034) r6:c002515c r5:c042e6c0 r4:10c5387d
Attachment:
defconfig
Description: Binary data