Commit 1de32ed1 authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller

[PKT_SCHED]: Keep netem queue running until inner qdisc is empty

Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c1e98f7d
......@@ -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);
......
......@@ -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
......
......@@ -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);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment