From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id AA7243B29E for ; Sun, 24 Dec 2017 07:14:30 -0500 (EST) Received: from [192.168.1.134] ([79.210.211.214]) by mail.gmx.com (mrgmx102 [212.227.17.168]) with ESMTPSA (Nemesis) id 0MZ7bs-1ehRjJ3YSK-00KyZj; Sun, 24 Dec 2017 13:14:26 +0100 Date: Sun, 24 Dec 2017 13:14:26 +0100 User-Agent: K-9 Mail for Android In-Reply-To: References: <31d49a5d-02a2-3dc8-a455-52d453b83bdf@gmail.com> <3b255661-1b16-cc29-958f-bbbedbcbab9e@gmail.com> <8FB76CCB-1AAB-42F6-AEF8-D0D8A438EA91@gmx.de> <7ca86dce-7645-38e8-df4e-148245e9991c@gmail.com> <3B4D3F22-DA08-4A8A-A1E2-C31A2B627727@gmx.de> <7416D2DC-A95B-40EA-B7AB-000BF9D113F8@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable To: Kevin Darbyshire-Bryant CC: Ryan Mounce ,Cake List From: Sebastian Moeller Message-ID: <71C90CE1-F1B0-48B9-A401-90546B96FCC5@gmx.de> X-Provags-ID: V03:K0:7/vXLP1tyWTnJIQtU3nZ4vWD2xo+a5XxAbx/kLG6GDCDuriE9jb J+BiBJsY2FSYW1mWqBekKxzVaSWrslmIZHX2eN9HZ4g6bj78oPvCl9VEeUhQ+o+ma5VmEWR sSEl+B21K89rPm3jFXIxE7upM833OlZnYGaDHLvZnRiaKD4gWJlPQw0Uw2JdgIx5cMPn2ow kV7lBFnGjlTMf4aIlM8+Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:jsW8dHyYDM8=:CoAwlcIJ8bquqmQLd8wIOG v4nYFQu2JsN6tuKgvVH25d6ZqCqSqxkRKfEd9sDnBYGWGl89uKcMcdHGB+KsAp35NlDAzyoPB +8CpqweCoOWPGVF53OK9qfcPDRZMD7e89NlhQkiE0z6ASoKWMZtUFNGlfqh198YUxD6L/nFdV u8B3vxjsnllh+XMtjCmMQqoOfiwJdeZtXjv9bElbZ1EwN+TumIl3pixSB3ZzD2RHyw4e46tAc ZRR6rmIdMFAnL28QvP6c8mY1rxEXyZ+eaQS0DNLx7kSZVudVAr2n/0yRQwEUcdnHN7MT04zR6 PsH15gJhza4UiZv+ia1uqUgET3r39+TmDAchp9f7uBzfHYFSAU+Oq70FeM5MvIZ2CakbXth7h X0S1IC9hRIyueAMJlrZq3PZDhAYqCEymtv3deozEV/QM6XBh1B8CqjI6Kp5O1obx3e6y6UDyV xYZeFGxjtbUeovnxfcVJuj5DrW1GvmCBE8O7C4NdZY/ZVJ5YBx1L87wFw6oHMWV9fdHPMYYAy gyYiy5v6OxFMuJMZwW4ljVJxy8b7mgkAFjowKgNjp+wPTBmUntPo96CwCLmwRdcUSFG537G9s t/ygPo27MuD23ZMuenakO04yBPyQvBxdYqdj/QhT0Be1G5ZoL81DfJ5qFt/oUQg8xlDkDIPmI UF8aRlucgOcV7qiZbHZSodZn4wOjQ0hdXrCzbCb2GPs9r7j2Hrh0jO08c7G1t3xVEurVYdNGb ZvbElL1F1P3zVpGiXjdJwyLZsjHXAMovInEgamZGkrW0JPwTxgm3q5qEFub7H6c4MAK5/Yqg/ +pzZ10GHNG2TfHaz1uY9z822tktLCGvr5a2/KC2uAUq5EcKW2p40eaxFXoeIeYpyj0JQy8r Subject: Re: [Cake] overheads or rate calculation changed? X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Dec 2017 12:14:31 -0000 Hi Kevin, On December 24, 2017 11:34:15 AM GMT+01:00, Kevin Darbyshire-Bryant wrote: > > >> On 23 Dec 2017, at 21:03, Sebastian Moeller wrote: >>=20 >> Hi All, >>=20 >> just had a look for hard_header_len in the linux kernel: >> linux/include/linux/netdevice=2Eh: >> * @hard_header_len: Maximum hardware header length=2E >> * @min_header_len: Minimum hardware header length >>=20 >> this seems to corroborate our observation that hard_header_len is not >a veridical representation of the actual hardware header length, so I >assume the values cake returns are actually true=2E It also indicates >that except for pure ethernet interfaces hard_header_len is _not_ the >right parameter to evaluate for what cake is evaluating it for=2E=2E=2E > >What came as a surprise to me the other day is that whatever =E2=80=98ove= rhead=E2=80=99 >you specify on the command line must *include* the hard_header_len >figure, since the code subtracts =E2=80=98hard header len=E2=80=99 from t= he passed >overhead value=2E I=E2=80=99ve probably been doing this wrong for=E2=80= =A6 who knows how >long=2E Well, cake's motives were pure=2E=2E=2E Unfortunately it seems that the im= plementation just worked for Ethernet=2E=2E=2E=2E This behavior is also not terribly strongly advertized, probably a good th= ing with the currently exposed opportunities for further precision improvem= ents=2E > > if (tb[TCA_CAKE_OVERHEAD]) { >if (tb[TCA_CAKE_ETHERNET]) <<<=E2=80=94 this is really a synonym for = =E2=80=98raw=E2=80=99, >in my case it isn=E2=80=99t passed so else is exec > q->rate_overhead =3D -(nla_get_s32(tb[TCA_CAKE_ETHERNET])); > else >q->rate_overhead =3D -(qdisc_dev(sch)->hard_header_len); <<<=E2=80=94= note the >sneaky minus! > > q->rate_overhead +=3D nla_get_s32(tb[TCA_CAKE_OVERHEAD]); > >For a while I=E2=80=99ve manually been passing =E2=80=9912=E2=80=99 as a = =E2=80=98bridged-ptm >ether-vlan=E2=80=99 equivalent except I should have been passing =E2=80= =9926=E2=80=99=2E Instead >I=E2=80=99ve been reducing the length of packets by 2 bytes :-) I now j= ust >pass the relevant keywords=2E The key words probably do not really save you=2E=2E=2E Plus the ptm accoun= ting as done by cake is imprecise, or rather it is imprecise and incurres a= (very small) per packet cost, while statically reducing the ptm bearer's s= ynchrate by 100-100*64/65 at configuration time, is more precise and has 0 = added per packet cost, but I digress=2E Best Regards Sebastian > >Cheers, > >Kevin D-B >Falling into traps so you don=E2=80=99t have to(tm) > >012C ACB2 28C6 C53E 9775 9123 B3A2 389B 9DE2 334A --=20 Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E