summaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-09-23 07:15:58 +0200
committerDavid S. Miller <davem@davemloft.net>2008-09-23 07:15:58 +0200
commitf0876520b0b721bedafd9cec3b1b0624ae566eee (patch)
tree7c1716416b9f6967172f189bb52f51eeef57db55 /net/sched
parentpkt_sched: Make qdisc->gso_skb a list. (diff)
downloadlinux-f0876520b0b721bedafd9cec3b1b0624ae566eee.tar.xz
linux-f0876520b0b721bedafd9cec3b1b0624ae566eee.zip
pkt_sched: Always use q->requeue in dev_requeue_skb().
There is no reason to call into the complicated qdiscs just to remember the last SKB where we found the device blocked. The SKB is outside of the qdiscs realm at this point. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/sch_generic.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 5961536be60c..1b508bd1c06c 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -44,10 +44,7 @@ static inline int qdisc_qlen(struct Qdisc *q)
static inline int dev_requeue_skb(struct sk_buff *skb, struct Qdisc *q)
{
- if (unlikely(skb->next))
- __skb_queue_head(&q->requeue, skb);
- else
- q->ops->requeue(skb, q);
+ __skb_queue_head(&q->requeue, skb);
__netif_schedule(q);
return 0;