diff options
author | David S. Miller <davem@davemloft.net> | 2008-09-23 01:15:58 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-23 01:15:58 -0400 |
commit | f0876520b0b721bedafd9cec3b1b0624ae566eee (patch) | |
tree | 7c1716416b9f6967172f189bb52f51eeef57db55 /net/sched | |
parent | 242f8bfefe4bed626df4e4727ac8f315d80b567a (diff) |
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.c | 5 |
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) | |||
44 | 44 | ||
45 | static inline int dev_requeue_skb(struct sk_buff *skb, struct Qdisc *q) | 45 | static inline int dev_requeue_skb(struct sk_buff *skb, struct Qdisc *q) |
46 | { | 46 | { |
47 | if (unlikely(skb->next)) | 47 | __skb_queue_head(&q->requeue, skb); |
48 | __skb_queue_head(&q->requeue, skb); | ||
49 | else | ||
50 | q->ops->requeue(skb, q); | ||
51 | 48 | ||
52 | __netif_schedule(q); | 49 | __netif_schedule(q); |
53 | return 0; | 50 | return 0; |