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 http://www.teklibre.com Tel: 1-669-226-2619 _______________________________________________ Cake mailing list [email protected] https://lists.bufferbloat.net/listinfo/cake
