On Mon, 2007-10-09 at 21:00 +0800, Herbert Xu wrote:

> The minimal fix would be to make sure that we disable BH on
> the first CPU. 

disabling BH would make it more symmetric to the way we handle
egress. I couldnt reproduce the issue, but this should hopefully resolve
it.
Christian, can you test with this patch?

cheers,
jamal




[NET_SCHED] make ingress qlock symmetric to egress

Signed-off-by: Jamal Hadi Salim <[EMAIL PROTECTED]>

--- a/net/sched/sch_generic.c   2007/09/10 23:19:45     1.1
+++ b/net/sched/sch_generic.c   2007/09/10 23:52:45
@@ -42,12 +42,12 @@
 void qdisc_lock_tree(struct net_device *dev)
 {
        spin_lock_bh(&dev->queue_lock);
-       spin_lock(&dev->ingress_lock);
+       spin_lock_bh(&dev->ingress_lock);
 }
 
 void qdisc_unlock_tree(struct net_device *dev)
 {
-       spin_unlock(&dev->ingress_lock);
+       spin_unlock_bh(&dev->ingress_lock);
        spin_unlock_bh(&dev->queue_lock);
 }
 

Reply via email to