]> git.neil.brown.name Git - history.git/commitdiff
[PKT_SCHED]: Keep netem queue running until inner qdisc is empty
authorPatrick McHardy <kaber@trash.net>
Tue, 14 Dec 2004 03:09:16 +0000 (19:09 -0800)
committerDavid S. Miller <davem@nuts.davemloft.net>
Tue, 14 Dec 2004 03:09:16 +0000 (19:09 -0800)
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/pkt_sched.h
net/core/dev.c
net/sched/sch_netem.c

index 2ad20e79a4a3c446008b62d9bfeff58cf1c38136..87496e3aa3302a4e8dc42f5c4f53a22f550d5008 100644 (file)
@@ -228,6 +228,12 @@ extern void qdisc_put_rtab(struct qdisc_rate_table *tab);
 
 extern int qdisc_restart(struct net_device *dev);
 
+static inline void qdisc_run(struct net_device *dev)
+{
+       while (!netif_queue_stopped(dev) && qdisc_restart(dev) < 0)
+               /* NOTHING */;
+}
+
 extern int tc_classify(struct sk_buff *skb, struct tcf_proto *tp,
        struct tcf_result *res);
 
index ad6f08aeea80b8f7c24cad553f938f4e05670501..8453a1afb0361fdc7b10b16933d64ce16666fccc 100644 (file)
@@ -1202,13 +1202,6 @@ int __skb_linearize(struct sk_buff *skb, int gfp_mask)
        }                                               \
 }
 
-static inline void qdisc_run(struct net_device *dev)
-{
-       while (!netif_queue_stopped(dev) &&
-              qdisc_restart(dev)<0)
-               /* NOTHING */;
-}
-
 /**
  *     dev_queue_xmit - transmit a buffer
  *     @skb: buffer to transmit
index e56c83e6c3800d4f734041c4fe6d83f7cb86326b..1e2deaf777838eb219e180b7c98a2e5c13227ead 100644 (file)
@@ -287,7 +287,7 @@ static void netem_watchdog(unsigned long arg)
                else
                        sch->q.qlen++;
        }
-       qdisc_restart(dev);
+       qdisc_run(dev);
        spin_unlock_bh(&dev->queue_lock);
 }