# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/12/10 04:24:22+01:00 kaber@coreworks.de # [PKT_SCHED]: Keep netem queue running until inner qdisc is empty # # Signed-off-by: Patrick McHardy # # net/sched/sch_netem.c # 2004/12/10 04:24:13+01:00 kaber@coreworks.de +1 -1 # [PKT_SCHED]: Keep netem queue running until inner qdisc is empty # # Signed-off-by: Patrick McHardy # # net/core/dev.c # 2004/12/10 04:24:13+01:00 kaber@coreworks.de +0 -7 # [PKT_SCHED]: Keep netem queue running until inner qdisc is empty # # Signed-off-by: Patrick McHardy # # include/net/pkt_sched.h # 2004/12/10 04:24:13+01:00 kaber@coreworks.de +6 -0 # [PKT_SCHED]: Keep netem queue running until inner qdisc is empty # # Signed-off-by: Patrick McHardy # diff -Nru a/include/net/pkt_sched.h b/include/net/pkt_sched.h --- a/include/net/pkt_sched.h 2004-12-10 04:24:54 +01:00 +++ b/include/net/pkt_sched.h 2004-12-10 04:24:54 +01:00 @@ -228,6 +228,12 @@ 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); diff -Nru a/net/core/dev.c b/net/core/dev.c --- a/net/core/dev.c 2004-12-10 04:24:54 +01:00 +++ b/net/core/dev.c 2004-12-10 04:24:54 +01:00 @@ -1202,13 +1202,6 @@ } \ } -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 diff -Nru a/net/sched/sch_netem.c b/net/sched/sch_netem.c --- a/net/sched/sch_netem.c 2004-12-10 04:24:54 +01:00 +++ b/net/sched/sch_netem.c 2004-12-10 04:24:54 +01:00 @@ -287,7 +287,7 @@ else sch->q.qlen++; } - qdisc_restart(dev); + qdisc_run(dev); spin_unlock_bh(&dev->queue_lock); }