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] cake coding comments
Date: Thu, 19 Nov 2015 11:23:46 +0100	[thread overview]
Message-ID: <84BE3E0F-5181-42E0-9674-02E18EDB9FBA@gmx.de> (raw)
In-Reply-To: <CAA93jw70hj05ktSVW4qeX5ofXZmnBgy4nVAakFODsuO1GXDcEg@mail.gmail.com>

Hi Dave,

On Nov 19, 2015, at 09:55 , Dave Taht <dave.taht@gmail.com> wrote:

> I sat down to try and think outside the boxes we are in...
> 
> dropping: Dropping an 3+ packet TSO "superpacket" will cause a tcp
> reset - would split and drop be possible/useful?
> 
> backports as far back as 3.2 seem to be needed.
> 
>         - breaking out all the compatability cruft to a separate file
> would be good
> 
> 
> codel5.h - I've longed to clean this up to make the state machine more
> clear and to fit in 80 columns for years now
> 
>         - we also still use 64 bit time - which I'd intended for the
> never started cake_drop monitor and also
> 
>         - because 32 bit wraparound gave me a headache.
> 
>         - some notes in the file about differences from this and
> published codel would be good
> 
>         - can't we use the skb->timestamp nowadays rather than the
> control block?
> 
> 
> hashing on the mac address seems to be possible in the new dissect
> api? How? mpls?
> 
> 
> What proof do we have that 8 way set associative hash is efficient?
> Would 4 way be OK?
> 
> 
> How correct is the dynamic quantum scaling?
> 
> 
> What is an optimal trade-off between the total number of flows, the
> size of the hash, and bandwidth?
> 
> At 1GigE? 10GigE and higher?
> 
> 
> Autosizing the memory limit is good only when bandwidth is specified.
> 
> 
> Does a bandwidth 100mbit exactly = ethernet at 100Mbit? Is it better than BQL?

	That one is easy: out of the box no "bandwidth 100mbit” will not work as well as it should, especially with smallish packets saturating the link. Close to actual line rate one needs to account for the real on wire size as accounted against the link’s brutto bandwidth, with fast ethernet the 14 Bytes the kernel ads just do not cut it… thanks to Kevin’s work we have keywords to request that cake accounts for the whole per packet overhead (see ether-all which still assumes that the kernel added the 14 bytes “mac-header”). BQL seems better in that it does not care about these details , but keeps the NICs buffer small when the buffer is serviced BQL will allow to re-fill it, so BQL should also work well for avian carriers in a simpler more efficient way than cake. I guess in the and cake does more and is hence better than pure BQL but on slow machines BQL alone should keep a line rate link well controlled.

> 
> 
> Should we be able to increase or decrease the number of flows in the API?
> 
> Is there a way to get away from act_mirred for inbound shaping and
> stick cake in there directly?
> 
> How low can we cut the interval to in a DC scenario?
> 
> VPNs vs the Tin system?

	A VPN by choice multiplexes flows over a smaller set of flows and hence will not efficiently use the different Tins. If we allow passing of the internal markings to the tunnel packet header we really really should squash these on exit from our DSCP domain not to divulge information about the encapsulated connection (ECN is different in that we collect this information from outside our domain anyway, and we really should pass ECN marking onto the packets after decapsulation, but I digress)

Best Regards
	Sebastian

> 
> 
> 
> Dave Täht
> Let's go make home routers and wifi faster! With better software!
> https://www.gofundme.com/savewifi
> _______________________________________________
> Cake mailing list
> Cake@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake


  reply	other threads:[~2015-11-19 10:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-19  8:55 Dave Taht
2015-11-19 10:23 ` Sebastian Moeller [this message]
2015-11-19 12:20 ` Kevin Darbyshire-Bryant
2015-11-19 12:24   ` Dave Taht

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=84BE3E0F-5181-42E0-9674-02E18EDB9FBA@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