netdev
[Top] [All Lists]

[PATCH PKT_SCHED 3/6]: tc actions: disable bhs while lock is held in ini

To: "David S. Miller" <davem@xxxxxxxxxxxxx>
Subject: [PATCH PKT_SCHED 3/6]: tc actions: disable bhs while lock is held in init path
From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Tue, 11 Jan 2005 22:46:24 +0100
Cc: Maillist netdev <netdev@xxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.3) Gecko/20041008 Debian/1.7.3-5
The lock is also used in softirq context.


# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/01/11 20:32:35+01:00 kaber@xxxxxxxxxxxx 
#   [PKT_SCHED]: tc actions: disable bhs while lock is held in init path
#   
#   Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
# 
# net/sched/police.c
#   2005/01/11 20:32:28+01:00 kaber@xxxxxxxxxxxx +2 -2
#   [PKT_SCHED]: tc actions: disable bhs while lock is held in init path
#   
#   Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
# 
# net/sched/mirred.c
#   2005/01/11 20:32:28+01:00 kaber@xxxxxxxxxxxx +2 -2
#   [PKT_SCHED]: tc actions: disable bhs while lock is held in init path
#   
#   Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>
# 
diff -Nru a/net/sched/mirred.c b/net/sched/mirred.c
--- a/net/sched/mirred.c        2005-01-11 22:32:15 +01:00
+++ b/net/sched/mirred.c        2005-01-11 22:32:15 +01:00
@@ -126,7 +126,7 @@
                }
        }
 
-       spin_lock(&p->lock);
+       spin_lock_bh(&p->lock);
        p->action = parm->action;
        p->eaction = parm->eaction;
        if (parm->ifindex) {
@@ -137,7 +137,7 @@
                dev_hold(dev);
                p->ok_push = ok_push;
        }
-       spin_unlock(&p->lock);
+       spin_unlock_bh(&p->lock);
        if (ret == ACT_P_CREATED)
                tcf_hash_insert(p);
 
diff -Nru a/net/sched/police.c b/net/sched/police.c
--- a/net/sched/police.c        2005-01-11 22:32:15 +01:00
+++ b/net/sched/police.c        2005-01-11 22:32:15 +01:00
@@ -224,7 +224,7 @@
                }
        }
        /* No failure allowed after this point */
-       spin_lock(&p->lock);
+       spin_lock_bh(&p->lock);
        if (R_tab != NULL) {
                qdisc_put_rtab(p->R_tab);
                p->R_tab = R_tab;
@@ -254,7 +254,7 @@
                gen_replace_estimator(&p->bstats, &p->rate_est, p->stats_lock, 
est);
 #endif
 
-       spin_unlock(&p->lock);
+       spin_unlock_bh(&p->lock);
        if (ret != ACT_P_CREATED)
                return ret;
 
<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH PKT_SCHED 3/6]: tc actions: disable bhs while lock is held in init path, Patrick McHardy <=