[Cake] cake, mq and bql on the apu2

Dave Taht dave.taht at gmail.com
Sat Jul 28 12:51:21 EDT 2018

so, as I gradually built up my lab over the past few weeks I slammed
ubuntu into one of my prized apu-2s to take a look at cake. This
particular box has 4 hardware queues, so I made cake the default qdisc
to see what happened at line rate. Running netserver locally on it
(which is a dumb idea, I just wanted to
see what happened) -

It works at a gbit fine, but bql stablizes at about 60-100k per queue,
(120-200 with gso enabled). I can set bql's limit_max to about 50k but
start losing single stream performance below that (bql tends to be off
by 2x in any scenario), for example, 20k for bql the best a single
flow can do is 500mbit, so there is a
lot more context switch overhead than I'd like compared to a fluid model.

running cake as the sole qdisc, unshaped, bql stablizes a little
higher, but throughput suffers (800k) also. In all cases observed
latencies are much higher that desirable due to all the extra bql
buffering, in 2-5ms range. If I shape to 100mbit, I get .36ms for ping
on workloads from 1 to 16 streams.

And also of course there's the usual birthday problem caused by so few queues.

I'm going to go setup two boxes on the other side of it next.

I've never liked bql's MIAD (rather than AIMD) scheme, I really hope
that not running the test locally will reduce the automagically sized
bql buffers smaller.

Then I'll flash lede on another one and see what happens. Any ethtool
settings for NAPI in particular worth trying?


Dave Täht
CEO, TekLibre, LLC
Tel: 1-669-226-2619

More information about the Cake mailing list