Subject: Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs

From: Patrick McHardy <[email-masked]>
Date: Sun, 07 Nov 2004 17:19:58 +0100

Thomas Graf wrote:

>You mean before qdisc_lookup and until the reference is released
>again? These are huge locking regions involving calls which might
>sleep and possible qdisc_destroy calling paths.  So this won't
>work quite well.
>
Who cares about huge sections while holding reference counts ?
qdisc_destroy won't destroy the qdisc until all references have
been dropped, that's the whole point of it.

>So in my opinion we should screw that call_rcu because it doesn't
>make much sense. In case dev_activate is not synchronized with
>rtnl sempaphore we have to make sure that qdisc_destroy always
>locks on qdisc_tree_lock which is not the case for a few paths as
>of now, although I'm not sure if any of those actually ever call
>qdisc_destroy with refcnt==1.
>  
>
I'm also fixing up the remaining locking bugs, so before we start
reverting things lets just wait and see how it gets.

Regards
Patrick