Subject: Re: [PATCH] pkt_sched: sch_api: Remove qdisc_list_lock

From: Patrick McHardy <[email-masked]>
Date: Tue, 25 Nov 2008 12:46:25 +0100

Patrick McHardy wrote:
> Jarek Poplawski wrote:
>> After implementing qdisc->ops->peek() there is no more calling
>> qdisc_tree_decrease_qlen() without rtnl_lock(), so qdisc_list_lock
>> added by commit: f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b "pkt_sched:
>> Fix qdisc list locking" can be removed.
> 
> I might be misunderstanding something, but qdisc_tree_decrease_qlen()
> doesn't need rtnl_lock() but the sch_tree_lock() since it changes
> q.qlen.

OK I see now, rtnl_lock() was taken to protect the parent qdisc lookup.
In that case it seems fine, all callers are holding both sch_tree_lock()
and rtnl_lock().