Subject: Re: circular locking, mirred, 2.6.24.2

From: jamal <[email-masked]>
Date: Thu, 06 Mar 2008 09:27:14 -0500

On Thu, 2008-06-03 at 15:57 +0200, Denys Fedoryshchenko wrote:
> I am able to reproduce this warning over this relatively simple shell script
> on my Gentoo PC (2.6.25-rc3).
> http://www.nuclearcat.com/files/bug_feb.txt
> 

That script looks pretty sane to me - nothing super-exciting. I suspect
you eventually want them all to look like ifb1 on the egress.
Do you see the same issue without the ifb1 speacial case?

> Probably it will help to debug issue for more experienced developers. Note:
> it appears not immediately, second time i tested, it's appeared after while,
> but in matter of seconds.

I wonder is there some latency from the moment you insmod ifb to the
moment the tc rules take effect? Will it still happen if you dont have
modules?
Also note, that lock dependency is a bit strange, Jarek correct me if i
am wrong; it seems to say:
a packet received on ingress of some e1000 (ethx) gets acted on by
mirred which ends grabbing lock of an ifb device - this part should be
fine and no need for the alarm. The alarm seems to be a result of a
loopback device that is being registered in between the two activities.
i.e there are three devices affected with entirely different locks(ethx,
ifbx, and loopback). Smells like lockdep is getting it wrong?

> Note - it can stop traffic on PC completely. It is also seems crashed my 
> desktop PC, i am not able to execute "tc qdisc del dev eth0 root".
> The system hang completely. I had few similar issues on my PPPoE servers 
> (with different scripts for shapers), that system hang, and even "reboot -f" 
> doesn't work sometimes.

This sounds like a different issue from above - when did this start to
happen? Is it at the same time as above warnings showing up?

cheers,
jamal