[Cake] Cake vs fq_codel and c/burst on an ER-X bridge
dave.taht at gmail.com
Tue Sep 11 14:42:52 EDT 2018
Next time I have sufficient spare brain cells I would like to try
shaping across cores. I don't know how to
share a bit of data between qdiscs as yet, so my plan to prove it out,
is to use a static variable for time_next_packet (has to be 32 bits
also), and atomically update it between the ksoftirq threads on each
Don't know if we can round effectively to ns at 32 bits
That would do less work per core with larger intervals between
reschedules with sufficient multiplexing.
In addition to that problem, shaping inbound across cores is currently
serialized to one core (I think) by the sch_ingress qdisc. There was
some new work *way* earlier in the path
https://lwn.net/Articles/763056/ recently - and to try and find some
why to bypass the ingress and mirred portions of the path, and just
pull directly from that would help.
On Tue, Sep 11, 2018 at 11:29 AM Dave Taht <dave.taht at gmail.com> wrote:
> that was me shaping at 900.
> On Tue, Sep 11, 2018 at 11:27 AM Pete Heist <pete at heistp.net> wrote:
> > > On Sep 11, 2018, at 10:20 AM, Dave Taht <dave.taht at gmail.com> wrote:
> > >
> > > What I "fixed" was on the apu2 with the burst/cburst change, I went
> > > from completely bottlenecked on one softirq to having 3 eat cpu, and
> > > from 400mbps to 900mbps. Now, that's a quad core and the e1000 (?)
> > > driver. The edgerouter X is a dual core, and you did see a small
> > > improvement in throughput, but I'd hoped for more.
> > That’s rather dramatic. When you do your tests, do you set the shaper to a high number and see how high actual throughput goes, or do you do it some other way? Just in case, I tried setting the ER-X to 350Mbit. htb+fq_codel topped out at 149Mbit, and with c/burst 96000 186 Mbit, so in both types of tests it was about a 25% increase, not small, but unfortunately not 2x!
> > Pete
> Dave Täht
> CEO, TekLibre, LLC
> Tel: 1-669-226-2619
CEO, TekLibre, LLC
More information about the Cake