Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Sebastian Moeller <moeller0@gmx.de>
To: "Dave Täht" <dave.taht@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] Stranger target behaviour
Date: Sun, 1 Nov 2015 10:47:24 +0100	[thread overview]
Message-ID: <7F32378C-878D-437C-B56C-F8E5B0D99895@gmx.de> (raw)
In-Reply-To: <CAA93jw7X=LZ44Ysu406tOC3q8QnOkL+YNFEvQMYbJed3gAbzsg@mail.gmail.com>

Hi there,

On Oct 31, 2015, at 21:29 , Dave Taht <dave.taht@gmail.com> wrote:

> The second one is from the interval >> 4, which equates to 6.2ms. I
> note I picked that because some early data (2012) we had showed that
> target slightly greater than cable media acquision (6ms) time was a
> slight win, and it did not hurt to use a number more evenly divisible
> in binary than the arbitrary 5%.

	Well, but should it not be 6.2ms even if no rtt is explicitly requested? Currently cake has a lot of corer-cases that are not too well documented either.

> 
> Also there was somewhere else in the original code where I'd stopped
> using the target variable entirely and just used the shifted interval,
> but given low rates where we have to account for the MTU, that
> approach does not work. (otherwise anytime I can replace a memory
> access with a mere shift, I'd do it)

	Why? We could take the initial target, calculate the adjusted target, multiply that by 16 to get the adjusted interval/rtt; at that point target = interval >> 4 is true again ;)

> 
> As for the first 5ms sample below, I am really behind on keeping up
> with the code. After next weekend I would hope to have time, but I do
> hope someone can step through all the permutations upon which init and
> change can be called to nail it.

	I believe while we are at it we should reconsider the BUG_ONs; I believe it is going to be a hard sell for the kernel community to hose a whole system because a qdisc was a bit unhappy ;) I also want to repeat my conviction that the buffer limit needs to be exposed to the user and actually honored as a hard limit. I believe cake is aimed at non-expert users and having rtt and bandwidth settings have un-obviuos side effects on the worst case memory consumption does not seem suitable for non-experts...

> 
> Somewhere on these threads someone suggested moving the target
> calculation into userspace, which does not work well, IMHO, when cake
> is the default qdisc,

	I believe before that happens cake will need to acquire pfifo_fast priority bands as default ;); regarding the default qdisc issue, I hess the challenge is that nothing passes anything into sch_cake if it is the default, then obviously it should default to rtt 100ms target 6.2ms… So I should include cake as default qdisc in the cursory testing I do.

> and we somehow get a means to actually get the
> actual line rate.

	But we are far away from that, no?

Best Regards
	Sebastian

> Dave Täht
> I just invested five years of my life to making wifi better. And,
> now... the FCC wants to make my work, illegal for people to install.
> https://www.gofundme.com/savewifi
> 
> 
> On Sat, Oct 31, 2015 at 3:35 PM, Kevin Darbyshire-Bryant
> <kevin@darbyshire-bryant.me.uk> wrote:
>> Playing with latest JM authed commits on sch-cake & tc-adv.  Look at the
>> target values:
>> 
>> root@Router:~# tc -s qdisc change dev ifb4eth0 root cake internet
>> root@Router:~# tc -s qdisc show dev ifb4eth0
>> qdisc cake 8008: root refcnt 2 bandwidth 39300Kbit diffserv4 flows rtt
>> 100.0ms noatm overhead 12
>> Sent 285837 bytes 1240 pkt (dropped 0, overlimits 144 requeues 0)
>> backlog 0b 0p requeues 0
>> capacity estimate: 10511Kbit
>>             Tin 0       Tin 1       Tin 2       Tin 3
>>  thresh   39300Kbit   36843Kbit   29475Kbit    9825Kbit
>>  target       5.0ms       5.0ms       5.0ms       5.0ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk-delay         0us        22us         0us         0us
>> Av-delay         0us         6us         0us         0us
>> Sp-delay         0us         2us         0us         0us
>>  pkts             0        1240           0           0
>>  bytes            0      285837           0           0
>> way-inds           0           0           0           0
>> way-miss           0         125           0           0
>> way-cols           0           0           0           0
>>  drops            0           0           0           0
>>  marks            0           0           0           0
>> Sp-flows           0           0           0           0
>> Bk-flows           0           2           0           0
>> last-len           0          82           0           0
>> max-len            0        1514           0           0
>> 
>> root@Router:~# tc -s qdisc change dev ifb4eth0 root cake rtt 100ms
>> root@Router:~# tc -s qdisc show dev ifb4eth0
>> qdisc cake 8008: root refcnt 2 bandwidth 39300Kbit diffserv4 flows rtt
>> 100.0ms noatm overhead 12
>> Sent 757689 bytes 2374 pkt (dropped 0, overlimits 464 requeues 0)
>> backlog 0b 0p requeues 0
>> capacity estimate: 5964Kbit
>>             Tin 0       Tin 1       Tin 2       Tin 3
>>  thresh   39300Kbit   36843Kbit   29475Kbit    9825Kbit
>>  target       6.2ms       6.2ms       6.2ms       6.2ms
>> interval     100.0ms     100.0ms     100.0ms     100.0ms
>> Pk-delay         0us       286us         0us         0us
>> Av-delay         0us        70us         0us         0us
>> Sp-delay         0us         2us         0us         0us
>>  pkts             0        2374           0           0
>>  bytes            0      757689           0           0
>> way-inds           0           0           0           0
>> way-miss           0         157           0           0
>> way-cols           0           0           0           0
>>  drops            0           0           0           0
>>  marks            0           0           0           0
>> Sp-flows           0           0           0           0
>> Bk-flows           0           2           0           0
>> last-len           0          82           0           0
>> max-len            0        1514           0           0
>> 
>> Colour me confused :-)
>> 
>> Kevin
>> 
>> 
>> _______________________________________________
>> 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


  reply	other threads:[~2015-11-01  9:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-31 19:35 Kevin Darbyshire-Bryant
2015-10-31 20:29 ` Dave Taht
2015-11-01  9:47   ` Sebastian Moeller [this message]
2015-11-01 13:21     ` Kevin Darbyshire-Bryant
2015-11-01 16:05       ` Sebastian Moeller
2015-11-01 17:18         ` Kevin Darbyshire-Bryant
2015-11-01 17:48           ` Sebastian Moeller

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=7F32378C-878D-437C-B56C-F8E5B0D99895@gmx.de \
    --to=moeller0@gmx.de \
    --cc=cake@lists.bufferbloat.net \
    --cc=dave.taht@gmail.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