Re: [PATCH 1/1][PKT_CLS] Avoid multiple tree locks
From: Patrick McHardy <hidden>
Date: 2007-03-22 11:36:20
jamal wrote:
On Wed, 2007-21-03 at 15:04 +0100, Patrick McHardy wrote:quoted
These (compile tested) patches demonstrate the idea. The first one lets netlink_kernel_create users specify a mutex that should be held during dump callbacks, the second one uses this for rtnetlink and changes inet_dump_ifaddr for demonstration. A complete patch would allow us to simplify locking in lots of spots, all rtnetlink users currently need to implement extra locking just for the dump functions, and a number of them already get it wrong and seem to rely on the rtnl.The mutex is certainly a cleaner approach; and a lot of the RCU protection would go away. I like it.
Not as much as I initially thought, but at least we would have consistent locking for the dump callbacks.
Knowing you i sense theres something clever in there that i am missing. I dont see how you could get rid of the tree locking since we need to protect against the data path still, no? Or are you looking at that as a separate effort?
We can remove qdisc_tree_lock since with this patch all changes and all tree walking happen under the RTNL. We still need to keep dev->queue_lock for the data path. I'll update the patches to include all rtnetlink users and repost in a day or two.