2.6.24-9 recusive locking

Chris Lalancette clalance at redhat.com
Mon Feb 4 21:29:54 UTC 2008


Hello,
     I just booted up 2.6.24-9 on an Intel box I have here, and I saw this on
bootup:

<snip>
DMAR:Host address width 36
DMAR:DRHD (flags: 0x00000000)base: 0x00000000fed90000
DMAR:DRHD (flags: 0x00000000)base: 0x00000000fed91000
DMAR:DRHD (flags: 0x00000000)base: 0x00000000fed92000
DMAR:DRHD (flags: 0x00000001)base: 0x00000000fed93000
DMAR:RMRR base: 0x00000000000ed000 end: 0x00000000000effff
DMAR:RMRR base: 0x000000007d600000 end: 0x000000007dffffff
IOMMU: Setting identity map for device 0000:00:02.0 [0x7d600000 - 0x7e000000]

=============================================
[ INFO: possible recursive locking detected ]
2.6.24-9.fc9 #1
---------------------------------------------
swapper/1 is trying to acquire lock:
 (&iovad->iova_alloc_lock){....}, at: [<ffffffff81141e0e>] reserve_iova+0x23/0xe3

but task is already holding lock:
 (&iovad->iova_alloc_lock){....}, at: [<ffffffff81141ee5>]
copy_reserved_iova+0x17/0x80

other info that might help us debug this:
2 locks held by swapper/1:
 #0:  (&iovad->iova_alloc_lock){....}, at: [<ffffffff81141ee5>]
copy_reserved_iova+0x17/0x80
 #1:  (&iovad->iova_rbtree_lock){....}, at: [<ffffffff81141ef0>]
copy_reserved_iova+0x22/0x80

stack backtrace:
Pid: 1, comm: swapper Not tainted 2.6.24-9.fc9 #1

Call Trace:
 [<ffffffff81056855>] __lock_acquire+0x8b4/0xc4d
 [<ffffffff81056ff7>] lock_acquire+0x5a/0x73
 [<ffffffff81141e0e>] reserve_iova+0x23/0xe3
 [<ffffffff812769c7>] _spin_lock_irqsave+0x2d/0x5e
 [<ffffffff81141e0e>] reserve_iova+0x23/0xe3
 [<ffffffff81141ef0>] copy_reserved_iova+0x22/0x80
 [<ffffffff81141f0b>] copy_reserved_iova+0x3d/0x80
 [<ffffffff81142f6b>] get_domain_for_dev+0x26c/0x5ea
 [<ffffffff81053c99>] lock_release_holdtime+0x27/0x49
 [<ffffffff8114396a>] iommu_prepare_identity_map+0x3e/0xe7
 [<ffffffff814bbf80>] init_dmars+0x285/0x781
 [<ffffffff8113c033>] pci_get_subsys+0xe9/0xf9
 [<ffffffff814bc6f9>] intel_iommu_init+0x27d/0x2f4
 [<ffffffff814aa18d>] pci_iommu_init+0xe/0x1c
 [<ffffffff814a26bd>] kernel_init+0x206/0x373
 [<ffffffff81275fb5>] trace_hardirqs_on_thunk+0x35/0x3a
 [<ffffffff81055b36>] trace_hardirqs_on+0x107/0x12a
 [<ffffffff8100cde8>] child_rip+0xa/0x12
 [<ffffffff8100c4ff>] restore_args+0x0/0x30
 [<ffffffff814a24b7>] kernel_init+0x0/0x373
 [<ffffffff8100cdde>] child_rip+0x0/0x12
<snip>

I can post the full dmesg if anyone is interested.  Anyone else seeing this?

Chris Lalancette




More information about the Fedora-kernel-list mailing list