Subject: Re: Oops in filter add

From: jamal <[email-masked]>
Date: Tue, 20 Mar 2007 02:54:05 -0400

On Mon, 2007-19-03 at 19:22 -0700, David Miller wrote:

> 
> I think this should use dev->queue_lock.
> 

It would slow down things if he is doing both ingress and egress
traffic as well as control changes.

> It looks like the idea might have been to allow more parallelized
> running of ingress filters, but this is done wrong and leads to
> the crashes you are seeing.

The main idea is to avoid one BigLock for both ingress and egress;
Which was/is still useful in the compat mode where netfilter is used
instead. 

> Can you just replace the above with dev->queue_lock and see if
> that makes your problem go away?  THanks.

It should; 
i will stare at the code later and see if i can send a better patch,
maybe a read_lock(qdisc_tree_lock). Chris, if you can experiment by just
locking against filters instead, that would be nicer for the reasons i
described above.

cheers,
jamal