|To:||Thomas Graf <tgraf@xxxxxxx>|
|Subject:||Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs|
|From:||Patrick McHardy <kaber@xxxxxxxxx>|
|Date:||Sun, 07 Nov 2004 17:19:58 +0100|
|Cc:||davem@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx, spam@xxxxxxxxxxxxx, kuznet@xxxxxxxxxxxxx, jmorris@xxxxxxxxxx|
|References:||<20041105163951.GY12289@xxxxxxxxxxxxxx> <418BB7D2.6060908@xxxxxxxxx> <20041105175812.GZ12289@xxxxxxxxxxxxxx> <418BC40E.8080402@xxxxxxxxx> <20041105194303.GA12289@xxxxxxxxxxxxxx> <20041106011843.GI12289@xxxxxxxxxxxxxx> <418C2D40.9020300@xxxxxxxxx> <20041106015931.GA28715@xxxxxxxxxxxxxx> <20041106145036.GB28715@xxxxxxxxxxxxxx> <418DE37E.2050504@xxxxxxxxx> <20041107140015.GA31969@xxxxxxxxxxxxxx>|
|User-agent:||Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.3) Gecko/20041008 Debian/1.7.3-5|
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
|<Prev in Thread]||Current Thread||[Next in Thread>|
|Previous by Date:||Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs, Thomas Graf|
|Next by Date:||Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs, Thomas Graf|
|Previous by Thread:||Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs, Thomas Graf|
|Next by Thread:||Re: [PATCH] PKT_SCHED: Initialize list field in dummy qdiscs, Thomas Graf|
|Indexes:||[Date] [Thread] [Top] [All Lists]|