Re: circular locking, mirred, 2.6.24.2

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jarek Poplawski
Date: Thursday, March 6, 2008 - 10:56 am

On Thu, Mar 06, 2008 at 08:59:55AM -0500, jamal wrote:

Every netdevice after register_netdevice() has its queue_lock and
ingress_lock initialized with the same static lock_class_keys, so unless
changed later, these locks are treated by lockdep as 2 global locks. So,
taking such locks with different order should be reported. This really
happens in act_mirred, and I don't know yet, why this wasn't reported
earlier.

Of course, if there are two different devices this could be safe, but
not always (e.g. thread1 has dev_eth0->ingress_lock and wants
dev_eth1->queue_lock, thread2 has dev_eth1->ingress_lock, wants
dev_eth0->qdisc_lock, and thread3 has dev_eth0->qdisc_lock and wants
dev_eth0->ingress_lock). With ifb this shouldn't be the case, but
anyway we have to tell lockdep that ifb uses a different pair of locks.

My patch teaches lockdep about queue_lock, but after rethinking it
seems it's not enough, and I'll have to update this patch with
ingress_lock too.

Denys, I'll have to read your script yet, so you can wait with this
patching (unless you've started already - anyway this patch shouldn't
be harmful).

Thanks,
Jarek P.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Sun Feb 24, 3:20 pm)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Mon Feb 25, 2:56 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Mon Feb 25, 3:48 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Mon Feb 25, 4:39 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Wed Mar 5, 3:45 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Thu Mar 6, 6:40 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Thu Mar 6, 6:57 am)
Re: circular locking, mirred, 2.6.24.2, jamal, (Thu Mar 6, 6:59 am)
Re: circular locking, mirred, 2.6.24.2, jamal, (Thu Mar 6, 7:27 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Thu Mar 6, 8:50 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Thu Mar 6, 10:56 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Thu Mar 6, 1:25 pm)
Re: circular locking, mirred, 2.6.24.2, jamal, (Thu Mar 6, 1:44 pm)
Re: circular locking, mirred, 2.6.24.2, jamal, (Thu Mar 6, 1:48 pm)
Re: circular locking, mirred, 2.6.24.2, jamal, (Thu Mar 6, 1:56 pm)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Thu Mar 6, 2:40 pm)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Thu Mar 6, 3:12 pm)
Re: circular locking, mirred, 2.6.24.2, jamal, (Thu Mar 6, 4:40 pm)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Thu Mar 6, 4:43 pm)
Re: circular locking, mirred, 2.6.24.2, jamal, (Thu Mar 6, 5:09 pm)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Thu Mar 6, 5:15 pm)
Re: circular locking, mirred, 2.6.24.2, jamal, (Thu Mar 6, 5:25 pm)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Fri Mar 7, 12:51 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Fri Mar 7, 1:32 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Fri Mar 7, 2:31 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Fri Mar 7, 3:19 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Fri Mar 7, 3:48 am)
Re: circular locking, mirred, 2.6.24.2, jamal, (Fri Mar 7, 6:53 am)
Re: circular locking, mirred, 2.6.24.2, jamal, (Fri Mar 7, 7:58 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Sat Mar 8, 1:46 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Sat Mar 8, 1:58 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Sat Mar 8, 2:56 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Sat Mar 8, 3:16 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Sat Mar 8, 3:43 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Sat Mar 8, 3:52 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Sat Mar 8, 4:09 am)
Re: circular locking, mirred, 2.6.24.2, Jarek Poplawski, (Sat Mar 8, 5:02 am)
Re: circular locking, mirred, 2.6.24.2, Denys Fedoryshchenko, (Tue Mar 18, 5:46 pm)