diff options
Diffstat (limited to 'net/sched/sch_netem.c')
-rw-r--r-- | net/sched/sch_netem.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 111d70fddaea..b34331967e02 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c | |||
@@ -429,12 +429,12 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch) | |||
429 | /* Drop packet? */ | 429 | /* Drop packet? */ |
430 | if (loss_event(q)) { | 430 | if (loss_event(q)) { |
431 | if (q->ecn && INET_ECN_set_ce(skb)) | 431 | if (q->ecn && INET_ECN_set_ce(skb)) |
432 | sch->qstats.drops++; /* mark packet */ | 432 | qdisc_qstats_drop(sch); /* mark packet */ |
433 | else | 433 | else |
434 | --count; | 434 | --count; |
435 | } | 435 | } |
436 | if (count == 0) { | 436 | if (count == 0) { |
437 | sch->qstats.drops++; | 437 | qdisc_qstats_drop(sch); |
438 | kfree_skb(skb); | 438 | kfree_skb(skb); |
439 | return NET_XMIT_SUCCESS | __NET_XMIT_BYPASS; | 439 | return NET_XMIT_SUCCESS | __NET_XMIT_BYPASS; |
440 | } | 440 | } |
@@ -478,7 +478,7 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch) | |||
478 | if (unlikely(skb_queue_len(&sch->q) >= sch->limit)) | 478 | if (unlikely(skb_queue_len(&sch->q) >= sch->limit)) |
479 | return qdisc_reshape_fail(skb, sch); | 479 | return qdisc_reshape_fail(skb, sch); |
480 | 480 | ||
481 | sch->qstats.backlog += qdisc_pkt_len(skb); | 481 | qdisc_qstats_backlog_inc(sch, skb); |
482 | 482 | ||
483 | cb = netem_skb_cb(skb); | 483 | cb = netem_skb_cb(skb); |
484 | if (q->gap == 0 || /* not doing reordering */ | 484 | if (q->gap == 0 || /* not doing reordering */ |
@@ -549,15 +549,14 @@ static unsigned int netem_drop(struct Qdisc *sch) | |||
549 | sch->q.qlen--; | 549 | sch->q.qlen--; |
550 | skb->next = NULL; | 550 | skb->next = NULL; |
551 | skb->prev = NULL; | 551 | skb->prev = NULL; |
552 | len = qdisc_pkt_len(skb); | 552 | qdisc_qstats_backlog_dec(sch, skb); |
553 | sch->qstats.backlog -= len; | ||
554 | kfree_skb(skb); | 553 | kfree_skb(skb); |
555 | } | 554 | } |
556 | } | 555 | } |
557 | if (!len && q->qdisc && q->qdisc->ops->drop) | 556 | if (!len && q->qdisc && q->qdisc->ops->drop) |
558 | len = q->qdisc->ops->drop(q->qdisc); | 557 | len = q->qdisc->ops->drop(q->qdisc); |
559 | if (len) | 558 | if (len) |
560 | sch->qstats.drops++; | 559 | qdisc_qstats_drop(sch); |
561 | 560 | ||
562 | return len; | 561 | return len; |
563 | } | 562 | } |
@@ -575,7 +574,7 @@ tfifo_dequeue: | |||
575 | skb = __skb_dequeue(&sch->q); | 574 | skb = __skb_dequeue(&sch->q); |
576 | if (skb) { | 575 | if (skb) { |
577 | deliver: | 576 | deliver: |
578 | sch->qstats.backlog -= qdisc_pkt_len(skb); | 577 | qdisc_qstats_backlog_dec(sch, skb); |
579 | qdisc_unthrottled(sch); | 578 | qdisc_unthrottled(sch); |
580 | qdisc_bstats_update(sch, skb); | 579 | qdisc_bstats_update(sch, skb); |
581 | return skb; | 580 | return skb; |
@@ -610,7 +609,7 @@ deliver: | |||
610 | 609 | ||
611 | if (unlikely(err != NET_XMIT_SUCCESS)) { | 610 | if (unlikely(err != NET_XMIT_SUCCESS)) { |
612 | if (net_xmit_drop_count(err)) { | 611 | if (net_xmit_drop_count(err)) { |
613 | sch->qstats.drops++; | 612 | qdisc_qstats_drop(sch); |
614 | qdisc_tree_decrease_qlen(sch, 1); | 613 | qdisc_tree_decrease_qlen(sch, 1); |
615 | } | 614 | } |
616 | } | 615 | } |