BACKPORT: fq_codel: 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: Dave Taht <dave.taht@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit ae697f3bf784898a9be1d68ff7fc38819ca5040f)
Signed-off-by: Panchajanya1999 <panchajanya@azure-dev.live>
(cherry picked from commit 60270a99f60439f2dbc47d111490782b77dc5941)

Change-Id: I47562b843bb86abed0b502cea62368a1195eeb0f
This commit is contained in:
Dave Taht 2019-08-03 16:37:28 -07:00 committed by Adithya R
parent f7b392fe49
commit 8da3900172

View File

@ -177,6 +177,8 @@ static unsigned int fq_codel_drop(struct Qdisc *sch, unsigned int max_packets,
__qdisc_drop(skb, to_free);
} while (++i < max_packets && len < threshold);
/* Tell codel to increase its signal strength also */
flow->cvars.count += i;
flow->dropped += i;
q->backlogs[idx] -= len;
q->memory_usage -= mem;