aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_netem.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_netem.c')
-rw-r--r--net/sched/sch_netem.c15
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) {
577deliver: 576deliver:
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 }