Commit ae697f3b authored by Dave Taht's avatar Dave Taht Committed by David S. Miller

Increase fq_codel count in the bulk dropper

In the field fq_codel is often used with a smaller memory or
packet limit than the default, and when the bulk dropper is hit,
the drop pattern bifircates into one that more slowly increases
the codel drop rate and hits the bulk dropper more than it should.

The scan through the 1024 queues happens more often than it needs to.

This patch increases the codel count in the bulk dropper, but
does not change the drop rate there, relying on the next codel round
to deliver the next packet at the original drop rate
(after that burst of loss), then escalate to a higher signaling rate.
Signed-off-by: default avatarDave Taht <dave.taht@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b8fb6406
...@@ -173,6 +173,8 @@ static unsigned int fq_codel_drop(struct Qdisc *sch, unsigned int max_packets, ...@@ -173,6 +173,8 @@ static unsigned int fq_codel_drop(struct Qdisc *sch, unsigned int max_packets,
__qdisc_drop(skb, to_free); __qdisc_drop(skb, to_free);
} while (++i < max_packets && len < threshold); } while (++i < max_packets && len < threshold);
/* Tell codel to increase its signal strength also */
flow->cvars.count += i;
flow->dropped += i; flow->dropped += i;
q->backlogs[idx] -= len; q->backlogs[idx] -= len;
q->memory_usage -= mem; q->memory_usage -= mem;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment