> On Feb 10, 2017, at 9:49 AM, Jonathan Morton <chromati...@gmail.com> wrote: > > >> On 10 Feb, 2017, at 10:04, Pete Heist <petehe...@gmail.com> wrote: >> >> I look forward to the throughput shifts being solved, where I see results >> like this: >> >> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_100ms_80mbit/index.html > > That basically looks like it’s run out of CPU, so there’s hard choices to > make over CPU allocation. Cake isn’t responsible for that allocation, though > it *might* be possible to optimise its use of the CPU a little further. > > If you can obtain a CPU profile of that workload on that hardware, that might > help to direct those efforts. > > - Jonathan Morton
I’d be surprised if that were a CPU problem in this case, as that test was run with Cake on a 2.4 GHz Core 2 Duo, not so new, but far more powerful than a typical embedded CPU. Here’s the CPU info: http://www.drhleny.cz/bufferbloat/hostinfo/mbp_cpuinfo.txt <http://www.drhleny.cz/bufferbloat/hostinfo/mbp_cpuinfo.txt> Here are the results at various bitrates (all half-duplex rate limiting on this CPU). I find it easiest to just open them in multiple browser tabs and keyboard shift between them to compare: http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_10mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_10mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_20mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_20mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_30mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_30mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_40mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_40mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_50mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_50mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_60mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_60mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_70mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_70mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_75mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_75mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_80mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_80mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_85mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_85mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_90mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_90mbit/index.html> http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_100mbit/index.html <http://www.drhleny.cz/bufferbloat/cake_hd-eth-ap_100mbit/index.html> There are strange shifts at 30 Mbit, 40 Mbit and 70 Mbit, but I think this hardware should be able to handle those speeds. It’s interesting that the throughput shifts don’t seem to affect the latency. Compare that to the results for HTB+fq_codel, which doesn’t show such shifts: http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_10mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_10mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_20mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_20mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_30mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_30mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_40mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_40mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_50mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_50mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_60mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_60mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_70mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_70mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_75mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_75mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_80mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_80mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_85mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_85mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_90mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_90mbit/index.html> http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_100mbit/index.html <http://www.drhleny.cz/bufferbloat/fq_codel_hd-eth-ap_100mbit/index.html> But if you still think that could be the CPU, I can try to get a CPU profile, if you can direct me on how to do that for Cake… Pete
_______________________________________________ Cake mailing list Cake@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cake