netdev
[Top] [All Lists]

Re: ACPI/HT or Packet Scheduler BUG?

To: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Subject: Re: ACPI/HT or Packet Scheduler BUG?
From: Steven Rostedt <rostedt@xxxxxxxxxxx>
Date: Sat, 16 Apr 2005 01:01:37 -0400
Cc: Thomas Graf <tgraf@xxxxxxx>, hadi@xxxxxxxxxx, netdev <netdev@xxxxxxxxxxx>, Tarhon-Onu Victor <mituc@xxxxxxxxxxxxxx>, kuznet@xxxxxxxxxxxxx, devik@xxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Patrick McHardy <kaber@xxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>
In-reply-to: <20050416014906.GA3291@gondor.apana.org.au>
Organization: Kihon Technologies
References: <Pine.LNX.4.61.0504081225510.27991@blackblue.iasi.rdsnet.ro> <Pine.LNX.4.61.0504121526550.4822@blackblue.iasi.rdsnet.ro> <Pine.LNX.4.61.0504141840420.13546@blackblue.iasi.rdsnet.ro> <1113601029.4294.80.camel@localhost.localdomain> <1113601446.17859.36.camel@localhost.localdomain> <1113602052.4294.89.camel@localhost.localdomain> <20050415225422.GF4114@postel.suug.ch> <20050416014906.GA3291@gondor.apana.org.au>
Sender: netdev-bounce@xxxxxxxxxxx
On Sat, 2005-04-16 at 11:49 +1000, Herbert Xu wrote:


> Here is a quick'n'dirty fix to the problem at hand.  What happened
> between 2.6.10-rc1 and 2.6.10-rc2 is that qdisc_destroy started
> changing the next pointer of qdisc entries which totally confuses
> the readers because qdisc_destroy doesn't always take the tree lock.
> 
> This patch tries to ensure that all top-level calls to qdisc_destroy
> come under the tree lock.  As Thomas correctedly pointed out, most
> of the other qdisc_destroy calls occur after the top qdisc has been
> unlinked from the device qdisc_list.  However, someone should go
> through each one of the remaining ones (they're all in the individual
> sch_* implementations) and make sure that this assumption is really
> true.
> 
> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> 
> If anyone has cycles to spare and a stomach strong enough for
> this stuff, here is your chance :)
> 

FYI,

I ran the test case that Tarhon-Ohn had, but had to change his tc
execution from batch to single lines since the version of tc I have
segfaults on newlines.  Anyway, I did see the lock up with 2.6.11.2
after 7 iterations. I applied your patch, and it ran for 30 iterations
before I manually killed it. I didn't test any more than that, but this
seems to be the quick fix for now.

-- Steve



<Prev in Thread] Current Thread [Next in Thread>