diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-06-14 09:17:42 (GMT) |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-06-14 09:17:42 (GMT) |
commit | 245050c287a9176cee9f98109df101909c1eeef4 (patch) | |
tree | 77358451bcc85e3fa2ab824240d5b351894ce74c /include/net/sch_generic.h | |
parent | d4c3be70ca0e7a1ae308bedd3462900c61e97b11 (diff) | |
parent | db06d759d6cf903aeda8c107fd3abd366dd80200 (diff) | |
download | linux-245050c287a9176cee9f98109df101909c1eeef4.tar.xz |
Merge branch 'linus' into locking/core, to pick up fixes before merging new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/net/sch_generic.h')
-rw-r--r-- | include/net/sch_generic.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index a1fd76c..62d5531 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -168,6 +168,7 @@ struct Qdisc_class_ops { /* Filter manipulation */ struct tcf_proto __rcu ** (*tcf_chain)(struct Qdisc *, unsigned long); + bool (*tcf_cl_offload)(u32 classid); unsigned long (*bind_tcf)(struct Qdisc *, unsigned long, u32 classid); void (*unbind_tcf)(struct Qdisc *, unsigned long); @@ -691,9 +692,11 @@ static inline struct sk_buff *qdisc_peek_dequeued(struct Qdisc *sch) /* we can reuse ->gso_skb because peek isn't called for root qdiscs */ if (!sch->gso_skb) { sch->gso_skb = sch->dequeue(sch); - if (sch->gso_skb) + if (sch->gso_skb) { /* it's still part of the queue */ + qdisc_qstats_backlog_inc(sch, sch->gso_skb); sch->q.qlen++; + } } return sch->gso_skb; @@ -706,6 +709,7 @@ static inline struct sk_buff *qdisc_dequeue_peeked(struct Qdisc *sch) if (skb) { sch->gso_skb = NULL; + qdisc_qstats_backlog_dec(sch, skb); sch->q.qlen--; } else { skb = sch->dequeue(sch); |