kernel: fq_codel match flows_cnt to limit sizing
authorKevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Sat, 7 May 2016 08:57:18 +0000 (09:57 +0100)
committerJohn Crispin <john@phrozen.org>
Thu, 12 May 2016 01:29:36 +0000 (03:29 +0200)
commite288e1bd3210c2025f6fc0dd9c338ea9dbf04bca
treecab1c29f4f8b5925a07bf6709f5114a7baadc82b
parent374cae9e6fcaf4cf4de4f2095f3fec558da51df6
kernel: fq_codel match flows_cnt to limit sizing

OpenWRT changed the default fq_codel sch->limit from 10240 to 1024,
without also adjusting q->flows_cnt.  Eric Dumazet explains below that
you must also adjust the buckets (q->flows_cnt) for this not to break.

Eric explains: Limit of 1024 packets and 1024 flows is not wise I think.
(If all buckets are in use, each bucket has a virtual queue of 1 packet,
which is almost the same than having no queue at all)

I suggest to have at least 8 packets per bucket, to let Codel have a
chance to trigger.  So you could either reduce number of buckets to 128
(if memory is tight), or increase limit to 8192.

flows_cnt is now set to 1024/8=128

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
target/linux/generic/patches-3.18/660-fq_codel_defaults.patch
target/linux/generic/patches-4.1/660-fq_codel_defaults.patch
target/linux/generic/patches-4.4/660-fq_codel_defaults.patch