Perhaps the differences in memory use are a memory leak of some kind? If you could run the same number of packets through each configuration and look at memory use, that might point somewhere.
cake - with gso-splitting - should fragment memory more than the other alternatives, as will fq_codel_fast with sce enabled. On Mon, Sep 16, 2019 at 1:00 PM Dave Taht <dave.t...@gmail.com> wrote: > > I am puzzled as to why fq_codel_fast would use more ram than fq_codel > would, was sce (gso-splotting) enabled? > > similarly, the differences between hfsc and htb are interesting. I > don't get that either. > > How many cake instances are being created? > > And for the sake of discussion, what does cake standalone consume? > > On Mon, Sep 16, 2019 at 11:22 AM Sebastian Gottschall > <s.gottsch...@newmedia-net.de> wrote: > > > > after we found out serious out of memory issues on smaller embedded devices > > (128 mb ram) we made some benchmarks with different schedulers > > with the result that cake takes a serious amount of memory. we use the out > > of tree cake module and we use it class based since we have complex methods > > of doing qos per interface, per mac addresse or even per > > I note that I often thought about having mac address functionality > might be a valuable mode for cake. > > >ip/network. so its not just simple cake on a single interface solution. we > >made some benchmarks with different schedulers. does anybody have a solution > >for making that better? > > With such complexity required I'd stick to hfsc + fq_X rather than > layer in cake. > > Understanding the model (sh -x the tc commands for, say, hfsc + > something and htb + something ) your users require, though, would be > helpful. We tried to design cake so that a jillion optimizations such > as ack prioritization, per network fq (instead per flow/per host) - > but we couldn't possibly cover all use cases in it with out more > feedback from the field. > > Still... such a big difference in memory use doesn't add up. Cake has > a larger fixed memory allocation > than fq_codel, but the rest is just packets which come from global memory. > > Can you point to a build and a couple targets we could try? I am > presently travelling (in portugal) and won't > be back online until later this week. > > > > HTB/FQ_CODEL ------- 62M > > HTB/SFQ ------- 62M > > HTB/PIE ------- 62M > > HTB/FQ_CODEL_FAST ------- 67M > > HTB/CAKE -------111M > > > > HFSC/FQ_CODEL_FAST ------- 47M > > HTB/PIE ------- 49M > > HTB/SFQ ------- 50M > > HFSC /FQ_CODEL ------- 52M > > HFSC/CAKE -------109M > > > > > > consider that the benchmark doesnt show the real values. its system overall > > and does not consider memory taken by the wireless driver for instance > > which is about 45 mb of ram for ath10k > > so this makes all even more worse unfortunatly since there is not that many > > ram left for cake. just about 70mb maybe. > > Am 08.09.2019 um 19:27 schrieb Jonathan Morton: > > > > You could also set it back to 'internet' and progressively reduce the > > bandwidth parameter, making the Cake shaper into the actual bottleneck. > > This is the correct fix for the problem, and you should notice an > > instant improvement as soon as the bandwidth parameter is correct. > > > > Hand tuning this one link is not a problem. I'm searching for a set of > > settings that will provide generally good performance across a wide range > > of devices, links, and situations. > > > > From what you've indicated so far there's nothing as effective as a correct > > bandwidth estimation if we consider the antenna (link) a black box. > > Expecting the user to input expected throughput for every link and then > > managing that information is essentially a non-starter. > > > > Radio tuning provides some improvement, but until ubiquiti starts shipping > > with Codel on non-router devices I don't think there's a good solution here. > > > > Any way to have the receiving device detect bloat and insert an ECN? > > > > That's what the qdisc itself is supposed to do. > > > > I don't think the time spent in the intermediate device is detectable at > > the kernel level but we keep track of latency for routing decisions and > > could detect bloat with some accuracy, the problem is how to respond. > > > > As long as you can detect which link the bloat is on (and in which > > direction), you can respond by reducing the bandwidth parameter on that > > half-link by a small amount. Since you have a cooperating network, > > maintaining a time standard on each node sufficient to observe one-way > > delays seems feasible, as is establishing a normal baseline latency for > > each link. > > > > The characteristics of the bandwidth parameter being too high are easy to > > observe. Not only will the one-way delay go up, but the received > > throughput in the same direction at the same time will be lower than > > configured. You might use the latter as a hint as to how far you need to > > reduce the shaped bandwidth. > > > > Deciding when and by how much to *increase* bandwidth, which is presumably > > desirable when link conditions improve, is a more difficult problem when > > the link hardware doesn't cooperate by informing you of its status. (This > > is something you could reasonably ask Ubiquiti to address.) > > > > I would assume that link characteristics will change slowly, and run an > > occasional explicit bandwidth probe to see if spare bandwidth is available. > > If that probe comes through without exhibiting bloat, *and* the link is > > otherwise loaded to capacity, then increase the shaper by an amount within > > the probe's capacity of measurement - and schedule a repeat. > > > > A suitable probe might be 100x 1500b packets paced out over a second, > > bypassing the shaper. This will occupy just over 1Mbps of bandwidth, and > > can be expected to induce 10ms of delay if injected into a saturated > > 100Mbps link. Observe the delay experienced by each packet *and* the > > quantity of other traffic that appears between them. Only if both are > > favourable can you safely open the shaper, by 1Mbps. > > > > Since wireless links can be expected to change their capacity over time, > > due to eg. weather and tree growth, this seems to be more generally useful > > than a static guess. You could deploy a new link with a conservative > > "guess" of say 10Mbps, and just probe from there. > > > > - Jonathan Morton > > _______________________________________________ > > Cake mailing list > > Cake@lists.bufferbloat.net > > https://lists.bufferbloat.net/listinfo/cake > > > > _______________________________________________ > > Cake mailing list > > Cake@lists.bufferbloat.net > > https://lists.bufferbloat.net/listinfo/cake > > > > -- > > Dave Täht > CTO, TekLibre, LLC > http://www.teklibre.com > Tel: 1-831-205-9740 -- Dave Täht CTO, TekLibre, LLC http://www.teklibre.com Tel: 1-831-205-9740 _______________________________________________ Cake mailing list Cake@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cake