Thread (11 messages) 11 messages, 3 authors, 2007-03-27

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help