On 05/31/2011 10:50 AM, Ben Greear wrote:
> It seems that 'ethtool -t ethX' causes a BUG on 2.6.34.8 (at least).
>
> Here is info from a lock-dep enabled build.  I haven't had time to
> poke at it any closer yet...
>
> You get a BUG without lockdep as well, but of course it looks different
> than what is below.

At least part of the bug is that the adapter->fdir_perfect_lock
is not initialized for the 82598 NIC, in the ixgbe_sw_init
method.

Btw, are any Intel developers active on this list..or should I
just post to netdev?

Thanks,
Ben


>
> ixgbe 0000:03:00.1: eth9: NIC Link is Down
> INFO: trying to register non-static key (ffff88031b8ca130)  lock-name: (null) 
>  is_module_addr: 0
> the code is fine but needs lockdep annotation.
> turning off the locking correctness validator.
> Pid: 3100, comm: ethtool Not tainted 2.6.34.8 #1
> Call Trace:
>    [<ffffffff81065c6e>] register_lock_class+0x186/0x359
>    [<ffffffff810669b4>] ? mark_lock+0x2d/0x22d
>    [<ffffffff81066c06>] ? mark_held_locks+0x52/0x70
>    [<ffffffff81067a07>] __lock_acquire+0xc2/0xcf8
>    [<ffffffff8108e0d7>] ? free_irq+0x3b/0x4e
>    [<ffffffff81066c06>] ? mark_held_locks+0x52/0x70
>    [<ffffffff810d2ff8>] ? kfree+0xd5/0xee
>    [<ffffffff81066e85>] ? trace_hardirqs_on_caller+0x111/0x135
>    [<ffffffff81066eb6>] ? trace_hardirqs_on+0xd/0xf
>    [<ffffffff810686a1>] lock_acquire+0x64/0x81
>    [<ffffffffa005f876>] ? ixgbe_close+0x36/0x140 [ixgbe]
>    [<ffffffff8108e0e1>] ? free_irq+0x45/0x4e
>    [<ffffffff813e8001>] _raw_spin_lock+0x36/0x45
>    [<ffffffffa005f876>] ? ixgbe_close+0x36/0x140 [ixgbe]
>    [<ffffffffa005ed9f>] ? ixgbe_free_irq+0x4f/0x1b0 [ixgbe]
>    [<ffffffffa005f876>] ixgbe_close+0x36/0x140 [ixgbe]
>    [<ffffffff81343f2a>] __dev_close+0x73/0x86
>    [<ffffffff813440a4>] dev_close+0x1a/0x40
>    [<ffffffffa006bd2f>] ixgbe_diag_test+0x14f/0x17d0 [ixgbe]
>    [<ffffffff810669b4>] ? mark_lock+0x2d/0x22d
>    [<ffffffff81066c06>] ? mark_held_locks+0x52/0x70
>    [<ffffffff810d37b6>] ? __kmalloc+0xec/0x11c
>    [<ffffffff813475ef>] ? dev_ethtool+0x865/0x14c2
>    [<ffffffff81066e85>] ? trace_hardirqs_on_caller+0x111/0x135
>    [<ffffffff81066eb6>] ? trace_hardirqs_on+0xd/0xf
>    [<ffffffff8134760c>] dev_ethtool+0x882/0x14c2
>    [<ffffffff8134584d>] dev_ioctl+0x4e6/0x62d
>    [<ffffffff810a06da>] ? unlock_page+0x22/0x27
>    [<ffffffff81331f83>] sock_do_ioctl+0x38/0x43
>    [<ffffffff8133238b>] sock_ioctl+0x20e/0x21d
>    [<ffffffff810b813e>] ? handle_mm_fault+0x374/0x809
>    [<ffffffff810ebd8d>] vfs_ioctl+0x2d/0xa1
>    [<ffffffff810ec303>] do_vfs_ioctl+0x48b/0x4d1
>    [<ffffffff8105b340>] ? up_read+0x1e/0x36
>    [<ffffffff813e8cf9>] ? retint_swapgs+0x13/0x1b
>    [<ffffffff810ec39a>] sys_ioctl+0x51/0x74
>    [<ffffffff81009a82>] system_call_fastpath+0x16/0x1b
> BUG: spinlock bad magic on CPU#6, ethtool/3100
>    lock: ffff88031b8ca118, .magic: 00000000, .owner:<none>/-1, .owner_cpu: 0
> Pid: 3100, comm: ethtool Not tainted 2.6.34.8 #1
> Call Trace:
>    [<ffffffff811d3e3a>] spin_bug+0x9c/0xa3
>    [<ffffffff811d3ef5>] do_raw_spin_lock+0x29/0x13c
>    [<ffffffff813e8009>] _raw_spin_lock+0x3e/0x45
>    [<ffffffffa005f876>] ? ixgbe_close+0x36/0x140 [ixgbe]
>    [<ffffffffa005ed9f>] ? ixgbe_free_irq+0x4f/0x1b0 [ixgbe]
>    [<ffffffffa005f876>] ixgbe_close+0x36/0x140 [ixgbe]
>    [<ffffffff81343f2a>] __dev_close+0x73/0x86
>    [<ffffffff813440a4>] dev_close+0x1a/0x40
>    [<ffffffffa006bd2f>] ixgbe_diag_test+0x14f/0x17d0 [ixgbe]
>    [<ffffffff810669b4>] ? mark_lock+0x2d/0x22d
>    [<ffffffff81066c06>] ? mark_held_locks+0x52/0x70
>    [<ffffffff810d37b6>] ? __kmalloc+0xec/0x11c
>    [<ffffffff813475ef>] ? dev_ethtool+0x865/0x14c2
>    [<ffffffff81066e85>] ? trace_hardirqs_on_caller+0x111/0x135
>    [<ffffffff81066eb6>] ? trace_hardirqs_on+0xd/0xf
>    [<ffffffff8134760c>] dev_ethtool+0x882/0x14c2
>    [<ffffffff8134584d>] dev_ioctl+0x4e6/0x62d
>    [<ffffffff810a06da>] ? unlock_page+0x22/0x27
>    [<ffffffff81331f83>] sock_do_ioctl+0x38/0x43
>    [<ffffffff8133238b>] sock_ioctl+0x20e/0x21d
>    [<ffffffff810b813e>] ? handle_mm_fault+0x374/0x809
>    [<ffffffff810ebd8d>] vfs_ioctl+0x2d/0xa1
>    [<ffffffff810ec303>] do_vfs_ioctl+0x48b/0x4d1
>    [<ffffffff8105b340>] ? up_read+0x1e/0x36
>    [<ffffffff813e8cf9>] ? retint_swapgs+0x13/0x1b
>    [<ffffffff810ec39a>] sys_ioctl+0x51/0x74
>    [<ffffffff81009a82>] system_call_fastpath+0x16/0x1b
>
> =====================================
> [ BUG: bad unlock balance detected! ]
> -------------------------------------
> ethtool/3100 is trying to release lock ((null)) at:
> [<ffffffffa005f8d6>] ixgbe_close+0x96/0x140 [ixgbe]
> but there are no more locks to release!
>
> other info that might help us debug this:
> 1 lock held by ethtool/3100:
>    #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff8134dd70>] rtnl_lock+0x12/0x14
>
> stack backtrace:
> Pid: 3100, comm: ethtool Not tainted 2.6.34.8 #1
> Call Trace:
>    [<ffffffffa005f8d6>] ? ixgbe_close+0x96/0x140 [ixgbe]
>    [<ffffffff810687c4>] print_unlock_inbalance_bug+0xd6/0xe0
>    [<ffffffff8106888e>] lock_release_non_nested+0xc0/0x227
>    [<ffffffffa005f8d6>] ? ixgbe_close+0x96/0x140 [ixgbe]
>    [<ffffffffa005f8d6>] ? ixgbe_close+0x96/0x140 [ixgbe]
>    [<ffffffff81068b31>] lock_release+0x13c/0x167
>    [<ffffffff813e85c4>] _raw_spin_unlock+0x1e/0x52
>    [<ffffffffa005f8d6>] ixgbe_close+0x96/0x140 [ixgbe]
>    [<ffffffff81343f2a>] __dev_close+0x73/0x86
>    [<ffffffff813440a4>] dev_close+0x1a/0x40
>    [<ffffffffa006bd2f>] ixgbe_diag_test+0x14f/0x17d0 [ixgbe]
>    [<ffffffff810669b4>] ? mark_lock+0x2d/0x22d
>    [<ffffffff81066c06>] ? mark_held_locks+0x52/0x70
>    [<ffffffff810d37b6>] ? __kmalloc+0xec/0x11c
>    [<ffffffff813475ef>] ? dev_ethtool+0x865/0x14c2
>    [<ffffffff81066e85>] ? trace_hardirqs_on_caller+0x111/0x135
>    [<ffffffff81066eb6>] ? trace_hardirqs_on+0xd/0xf
>    [<ffffffff8134760c>] dev_ethtool+0x882/0x14c2
>    [<ffffffff8134584d>] dev_ioctl+0x4e6/0x62d
>    [<ffffffff810a06da>] ? unlock_page+0x22/0x27
>    [<ffffffff81331f83>] sock_do_ioctl+0x38/0x43
>    [<ffffffff8133238b>] sock_ioctl+0x20e/0x21d
>    [<ffffffff810b813e>] ? handle_mm_fault+0x374/0x809
>    [<ffffffff810ebd8d>] vfs_ioctl+0x2d/0xa1
>    [<ffffffff810ec303>] do_vfs_ioctl+0x48b/0x4d1
>    [<ffffffff8105b340>] ? up_read+0x1e/0x36
>    [<ffffffff813e8cf9>] ? retint_swapgs+0x13/0x1b
>    [<ffffffff810ec39a>] sys_ioctl+0x51/0x74
>    [<ffffffff81009a82>] system_call_fastpath+0x16/0x1b
> BUG: spinlock bad magic on CPU#6, ethtool/3100
>    lock: ffff88031b8ca118, .magic: 00000000, .owner: ethtool/3100, 
> .owner_cpu: 6
> Pid: 3100, comm: ethtool Not tainted 2.6.34.8 #1
> Call Trace:
>    [<ffffffff811d3e3a>] spin_bug+0x9c/0xa3
>    [<ffffffff811d3e62>] do_raw_spin_unlock+0x21/0x8b
>    [<ffffffff813e85cc>] _raw_spin_unlock+0x26/0x52
>    [<ffffffffa005f8d6>] ixgbe_close+0x96/0x140 [ixgbe]
>    [<ffffffff81343f2a>] __dev_close+0x73/0x86
>    [<ffffffff813440a4>] dev_close+0x1a/0x40
>    [<ffffffffa006bd2f>] ixgbe_diag_test+0x14f/0x17d0 [ixgbe]
>    [<ffffffff810669b4>] ? mark_lock+0x2d/0x22d
>    [<ffffffff81066c06>] ? mark_held_locks+0x52/0x70
>    [<ffffffff810d37b6>] ? __kmalloc+0xec/0x11c
>    [<ffffffff813475ef>] ? dev_ethtool+0x865/0x14c2
>    [<ffffffff81066e85>] ? trace_hardirqs_on_caller+0x111/0x135
>    [<ffffffff81066eb6>] ? trace_hardirqs_on+0xd/0xf
>    [<ffffffff8134760c>] dev_ethtool+0x882/0x14c2
>    [<ffffffff8134584d>] dev_ioctl+0x4e6/0x62d
>    [<ffffffff810a06da>] ? unlock_page+0x22/0x27
>    [<ffffffff81331f83>] sock_do_ioctl+0x38/0x43
>    [<ffffffff8133238b>] sock_ioctl+0x20e/0x21d
>    [<ffffffff810b813e>] ? handle_mm_fault+0x374/0x809
>    [<ffffffff810ebd8d>] vfs_ioctl+0x2d/0xa1
>    [<ffffffff810ec303>] do_vfs_ioctl+0x48b/0x4d1
>    [<ffffffff8105b340>] ? up_read+0x1e/0x36
>    [<ffffffff813e8cf9>] ? retint_swapgs+0x13/0x1b
>    [<ffffffff810ec39a>] sys_ioctl+0x51/0x74
>    [<ffffffff81009a82>] system_call_fastpath+0x16/0x1b
>


-- 
Ben Greear <gree...@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger. 
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Data protection magic?
Nope - It's vRanger. Get your free trial download today. 
http://p.sf.net/sfu/quest-sfdev2dev
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to