I'm not seeing anything like the memory usage you describe in a similar situation.
OpenWRT 18.06.4 on a glb1300 and 10+ virtual interfaces with cake. Total memory usage is 70MB for everything. -- Justin Kilpatrick jus...@althea.net On Mon, Sep 16, 2019, at 9:22 AM, Sebastian Gottschall wrote: > > Am 16.09.2019 um 14:00 schrieb Dave Taht: > > I am puzzled as to why fq_codel_fast would use more ram than fq_codel > > would, was sce (gso-splotting) enabled? > that can by typical error tollerance. he just used "free" for comparisation > > > > similarly, the differences between hfsc and htb are interesting. I > > don't get that either. > > > > How many cake instances are being created? > according to his config, i assume 7 > > > > And for the sake of discussion, what does cake standalone consume? > thats a rare condition for my testers. this is something for PC's but > not for routers :-) > this is something i need to find out for myself on my routers > > > > 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. > that wouldnt help. there are many variations with multiple different > settings for different mac addresses. as far as i have seen cake is not > designed to work like this. this is why we > have to use a class / qdisc tree in my case > > > >> 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. > yea. i told that too. but people complain that cake runs soooooooo much > better. or at least a little bit. hard to get around this argument > > > > 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 > 4 mb max as i have seen. but by 7 its coming up to 28. but i still see > much more here. consider that i implemented the same limitation to > fq_codel and also fq_codel_fast > (model specific. on bigger devices i dont restrict he memory to 4 mb) > > 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. > what do you mean with targets? the build for testing was always the > same. i requested todo the test just with multiple schedulers which is > switchable in my gui. > > what i can do is doing a tree like print to visualize how its builded > (or i simple print you out the qdisc/class/filters) > > the test itself was made on a tplink archer c7 v2. > > >> 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 > > > > > _______________________________________________ > 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