summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-09-22 22:15:58 -0700
committerDavid S. Miller <davem@davemloft.net>2008-09-22 22:15:58 -0700
commitf0876520b0b721bedafd9cec3b1b0624ae566eee (patch)
tree7c1716416b9f6967172f189bb52f51eeef57db55
parent242f8bfefe4bed626df4e4727ac8f315d80b567a (diff)
downloadlinux-3.10-f0876520b0b721bedafd9cec3b1b0624ae566eee.tar.gz
linux-3.10-f0876520b0b721bedafd9cec3b1b0624ae566eee.tar.bz2
linux-3.10-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>
-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 5961536be60..1b508bd1c06 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;