Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade to 4.4.50-rt62
[kvmfornfv.git]
/
kernel
/
net
/
sched
/
sch_pie.c
diff --git
a/kernel/net/sched/sch_pie.c
b/kernel/net/sched/sch_pie.c
index
b783a44
..
71ae3b9
100644
(file)
--- a/
kernel/net/sched/sch_pie.c
+++ b/
kernel/net/sched/sch_pie.c
@@
-183,7
+183,7
@@
static int pie_change(struct Qdisc *sch, struct nlattr *opt)
{
struct pie_sched_data *q = qdisc_priv(sch);
struct nlattr *tb[TCA_PIE_MAX + 1];
{
struct pie_sched_data *q = qdisc_priv(sch);
struct nlattr *tb[TCA_PIE_MAX + 1];
- unsigned int qlen;
+ unsigned int qlen
, dropped = 0
;
int err;
if (!opt)
int err;
if (!opt)
@@
-232,10
+232,11
@@
static int pie_change(struct Qdisc *sch, struct nlattr *opt)
while (sch->q.qlen > sch->limit) {
struct sk_buff *skb = __skb_dequeue(&sch->q);
while (sch->q.qlen > sch->limit) {
struct sk_buff *skb = __skb_dequeue(&sch->q);
+ dropped += qdisc_pkt_len(skb);
qdisc_qstats_backlog_dec(sch, skb);
qdisc_drop(skb, sch);
}
qdisc_qstats_backlog_dec(sch, skb);
qdisc_drop(skb, sch);
}
- qdisc_tree_
decrease_qlen(sch, qlen - sch->q.qlen
);
+ qdisc_tree_
reduce_backlog(sch, qlen - sch->q.qlen, dropped
);
sch_tree_unlock(sch);
return 0;
sch_tree_unlock(sch);
return 0;