From: Sebastian Gottschall <s.gottschall@newmedia-net.de>
To: "Toke Høiland-Jørgensen" <toke@redhat.com>, cake@lists.bufferbloat.net
Subject: Re: [Cake] cake memory consumption
Date: Tue, 17 Sep 2019 07:31:04 +0200 [thread overview]
Message-ID: <65e68948-6464-23ac-5df0-91735fc298af@newmedia-net.de> (raw)
In-Reply-To: <87h85cl4qk.fsf@toke.dk>
according to the output there is a flaw/bug in the memory limit calculation
cake_reconfigure may set buffer_limit to ~0 if no rate is set.
the following line "min(buffer_limit, max(sch->limit *
psched_mtu(qdisc_dec(sch), q->buffer_config_limit))" doesnt make it
better since buffer_config_limit is not configured
so we got a possible memory overuse here.
my proposal
- q->buffer_limit = min(q->buffer_limit,
- max(sch->limit * psched_mtu(qdisc_dev(sch)),
- q->buffer_config_limit));
+ if (q->buffer_config_limit)
+ q->buffer_limit = min(q->buffer_limit,
+ max(sch->limit * psched_mtu(qdisc_dev(sch)),
q->buffer_config_limit));
+ else
+ q->buffer_limit = min(q->buffer_limit,
+ max(sch->limit * psched_mtu(qdisc_dev(sch)), 4U
<< 20));
Am 16.09.2019 um 16:01 schrieb Toke Høiland-Jørgensen:
> Sebastian Gottschall <s.gottschall@newmedia-net.de> writes:
>
>> Am 16.09.2019 um 14:08 schrieb Toke Høiland-Jørgensen:
>>> Sebastian Gottschall <s.gottschall@newmedia-net.de> writes:
>>>
>>>> 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
>>>> 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?
>>>>
>>>> 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
>>> How are you measuring the memory usage, and what is your full config for
>>> each setup? :)
>> me? nothing. i requested this test from a reporter and he uses just free
>> / top. so there is a error tollerance.
> Ah, I see. So this is just total system memory as reported by top.
>
>> but it shows a significant difference between cake and fq_codel etc.
>> cake is doing a OOM at the end
>>
>> for the full report including config screenshots see this
>> https://svn.dd-wrt.com/ticket/6798#comment:14. it shows also the qos
>> setup which i can use to reproduce and to
>> print out the full tc ruleset if required (which it surelly is for you).
>> if you want i will recreate this setup and send the tc rules on this
>> list
> Yes, please do. The output of 'tc -s qdisc' would be useful as well to
> see how much memory CAKE itself thinks it's using...
>
> Are you setting the memory_limit in your config or relying on CAKE's
> default?
>
> -Toke
>
>
next prev parent reply other threads:[~2019-09-17 5:32 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-07 22:42 [Cake] Fighting bloat in the face of uncertinty Justin Kilpatrick
2019-09-07 23:09 ` Jonathan Morton
2019-09-07 23:31 ` Justin Kilpatrick
2019-09-07 23:42 ` Jonathan Morton
2019-09-08 0:03 ` Justin Kilpatrick
2019-09-08 0:59 ` Jonathan Morton
2019-09-08 14:29 ` Justin Kilpatrick
2019-09-08 17:27 ` Jonathan Morton
2019-09-16 10:21 ` [Cake] cake memory consumption Sebastian Gottschall
2019-09-16 12:00 ` Dave Taht
2019-09-16 12:51 ` Dave Taht
2019-09-16 13:31 ` Sebastian Gottschall
2019-09-16 13:22 ` Sebastian Gottschall
2019-09-16 13:28 ` Justin Kilpatrick
2019-09-16 13:39 ` Jonathan Morton
2019-09-16 13:54 ` Sebastian Gottschall
2019-09-16 14:06 ` Jonathan Morton
2019-09-17 5:10 ` Sebastian Gottschall
2019-09-16 13:47 ` Sebastian Gottschall
2019-09-16 12:08 ` Toke Høiland-Jørgensen
2019-09-16 13:25 ` Sebastian Gottschall
2019-09-16 14:01 ` Toke Høiland-Jørgensen
2019-09-17 5:06 ` Sebastian Gottschall
2019-09-17 5:21 ` Sebastian Gottschall
2019-09-17 5:31 ` Sebastian Gottschall [this message]
2019-09-17 9:21 ` Jonathan Morton
2019-09-17 9:55 ` Sebastian Gottschall
2019-09-17 5:33 ` Sebastian Gottschall
2019-09-17 9:40 ` Toke Høiland-Jørgensen
2019-09-18 7:19 ` Sebastian Gottschall
2019-09-18 9:53 ` Toke Høiland-Jørgensen
2019-09-18 9:57 ` Sebastian Gottschall
2019-09-18 10:22 ` Toke Høiland-Jørgensen
2019-10-03 17:52 ` [Cake] Fighting bloat in the face of uncertinty Justin Kilpatrick
2019-10-03 18:41 ` Dave Taht
2019-10-03 19:04 ` Jonathan Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=65e68948-6464-23ac-5df0-91735fc298af@newmedia-net.de \
--to=s.gottschall@newmedia-net.de \
--cc=cake@lists.bufferbloat.net \
--cc=toke@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox