Subject: Re: PROBLEM: IProute hangs after running traffic shaping scripts

From: Szymon Miotk <[email-masked]>
Date: Wed, 10 Nov 2004 13:08:14 +0100

Patrick McHardy wrote:
> Thomas Graf wrote:
> 
>> * Patrick McHardy <[email-masked]> 2004-11-08 17:12
>>  
>>
>>> There is some optimization possible, I will do this for the final
>>> patch. But I don't understand the problem you refer to, can you
>>> please explain ?
>>>
>>
>> I don't have the time to verify this at the moment but:
>>
>> 1) qdisc_destroy unlinking all the lists
>> 2) RTM_NEWQDISC creating a new qdisc with the same major classid as 
>> the old one
>>   which will suceed since the old one cannot be found anymore.
>> 3) rcu callback __qdisc_destroy -> qdisc_destroy looking through 
>> qdisc_list
>>   again and then deleting the new entries because their major classid 
>> matches.
>>
>> I might be missing something though.
>>
> You're right, thanks. The optimization already fixed this, but I
> wasn't aware of the bug :) New patch attached.

I've tested the new kernel (2.6.10-rc1_bk17) with this patch.
It performed well on test system (reloading my traffic shaping 
configuration for 100 times).
Now it forks for some 22 hours on production system, under normal load 
(~20 Mbit, 500 clients at a time, 15000 entires in route table) and it 
performs well.

Thanks a lot for your help, it really saved me away from troubles.

Szymon Miotk