From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-1" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 56BD121F7E6 for ; Wed, 28 Oct 2015 08:50:58 -0700 (PDT) Received: from u-089-d060.biologie.uni-tuebingen.de ([134.2.89.60]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0M96Jd-1ZmCDD1OO5-00CPWH; Wed, 28 Oct 2015 16:50:54 +0100 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) From: Sebastian Moeller In-Reply-To: <87pozzkns6.fsf@toke.dk> Date: Wed, 28 Oct 2015 16:50:56 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <87a8r4mji9.fsf@toke.dk> <751BA26E-3CC7-4341-99C6-2448111A07B4@gmx.de> <87pozzkns6.fsf@toke.dk> To: =?windows-1252?Q?Toke_H=F8iland-J=F8rgensen?= X-Mailer: Apple Mail (2.1878.6) X-Provags-ID: V03:K0:IfljNRX9QY7P6dewfT5i5p3FAJ8+h4eLDKdPdZXCUjA7ArdjbMu OPpghJ6cDqRM0SYp4+WAmunnJ2uPpFoZAXTSaPx3K3gntpnOtH4H3KxtfZMrlja0mt5xvrC 6KbSUucV2UnZBAU00INl/tcxyggcTetqHPLcJ38gFau+i0NtlOD22P06qCOtysp4+KAF3hG 3Mj1zsz8MV1z7/wCmqA2A== X-UI-Out-Filterresults: notjunk:1;V01:K0:Bb/vvImEt20=:eVt9oP8vgvS6TOGSbqSItV L03Nvy56yMnxFQ133VQt/ndyS7upYu21e4Yk8XHiZSHdFij7fwN9pSgBK/eaQjqtAv/lrys1f DeMDNoWuChcpOxVsH2jZrp4L7fPRZRqJBtK41PhcXvKpE/b5il5ZhuyFl5XtyRZqYo7xE2Rg7 odzXhhxE1z+j9v+lgFK/iKpGcCJZ6iTZbOoELic80+K5eqcx/Dx3LyGbXnhzyxY3reT5YXHLF GXILuYzVw4hD6Kgq+TXmICKA1xwS2yssDF1GP3xNzk2wqPU+BM1lO54q0MsYnn49xjYw2lXOt rJadDdPB09qppjMybeBd1gwRQpC+CBXBtS3RRWRLsLvhKCr0O7AzLHgUHT8r9tpGaTHoP3UzB EWKp6wW1wUmcrQRcTcEl2dKrD4PKnMseBFwF/7rn6dKzd9BQdiEZAEum98gvTJ4zVUXBdSwwd PKEfX6NLRqSuLlZhwVT3eCEsx4LPaYkm24MYFQnBICPfMeLlb98/E6ZipzGvJWmNIgHTNqyUA zeR+wVxw4+0ayms+gbAzdhiXCTu4N30GCBxgzQJz6F5O02byX7QNWLPb+czBgpsEKpn/QE+y9 N3V6GxEgB1IDmueW6scjlfZTwxgJNv3OmIB4tgXnW2ljYLuOoQhvA+ug5aB2EE9ZdX4xqOQAN FEnl3fHDOD3anTmP+k2BursfgUnSK2h3WLsIBVThQzgTewTRWDfA2G7PooH0OraNeo6VBFfyt 2rEcG2faT6xlAuam/k3Ivp/KZPTbskOKmcQdGbw/gz0mZy7jNqYDEW/MO2vtLTvEV8fpgNcVU Wv/CIPX Cc: cake@lists.bufferbloat.net Subject: Re: [Cake] Running Cake at long RTTs X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Oct 2015 15:51:22 -0000 Hi Toke, On Oct 28, 2015, at 16:36 , Toke H=F8iland-J=F8rgensen = wrote: > Sebastian Moeller writes: >=20 >> Except I requested rtf 120 ms and got 122.7, which admittedly is >> close. I know I repeat myself, but on of the is one things that >> irritate me in software is if software silently pretends to know >> better=85 Now 122.7 versus 120 might be in the noise, but look at = that: >=20 > I don't remember from where, but I suspect there's something wrong = with > the 'change' logic in Cake. Can you try removing the qdisc completely, > then re-adding it, rather than doing a straight replace? Good point: moeller@happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc replace dev eth0 = root pfifo_fast moeller@happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc replace dev eth0 = root cake bandwidth 1Mbit besteffort rtt 100ms ; sudo tc-toke -s qdisc qdisc cake 800c: dev eth0 root refcnt 6 bandwidth 1Mbit besteffort flows = rtt 100.0ms raw=20 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)=20 backlog 0b 0p requeues 0=20 capacity estimate: 1Mbit Tin 0 =20 thresh 1Mbit target 18.2ms interval 95.0ms Pk-delay 0us Av-delay 0us Sp-delay 0us pkts 0 bytes 0 way-inds 0 way-miss 0 way-cols 0 drops 0 marks 0 Sp-flows 0 Bk-flows 0 last-len 0 max-len 0 moeller@happy-horse:~/CODE/sch_cake>=20 Just 95 is not equal to 100 either=85 >=20 > Might not be that, but do try it out just to be sure. I have not = looked > at the scaling of target/interval that goes on in the different bands; > but there is one? Or is there? If there is, why? It's not immediately > obvious that different diffserv markings needs different settings for > the AQM=85 Well: moeller@happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc replace dev eth0 = root cake bandwidth 1Mbit diffserv4 rtt 100ms ; sudo tc-toke -s qdisc qdisc cake 800e: dev eth0 root refcnt 6 bandwidth 1Mbit diffserv4 flows = rtt 100.0ms raw=20 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)=20 backlog 0b 0p requeues 0=20 capacity estimate: 1Mbit Tin 0 Tin 1 Tin 2 Tin 3 =20 thresh 1Mbit 937504bit 750Kbit 250Kbit target 18.2ms 19.4ms 24.2ms 72.7ms interval 95.0ms 95.0ms 95.0ms 95.0ms Pk-delay 0us 0us 0us 0us Av-delay 0us 0us 0us 0us Sp-delay 0us 0us 0us 0us pkts 0 0 0 0 bytes 0 0 0 0 way-inds 0 0 0 0 way-miss 0 0 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 0 0 0 last-len 0 0 0 0 max-len 0 0 0 0 moeller@happy-horse:~/CODE/sch_cake>=20 The different tins have different bandwidths and so might need to scale = target differentially as the packet transfer time is different for the = different tins (I note in my contrived example I have set the bandwidth = to a measly 1Mbps). Interestingly rtt is auto-adjusted to 95.0 ms even = if I do not request rtt 100: moeller@happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc del dev eth0 = root RTNETLINK answers: No such file or directory moeller@happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc replace dev eth0 = root cake bandwidth 1Mbit diffserv4 rtt 100ms ; sudo tc-toke -s qdisc qdisc cake 8016: dev eth0 root refcnt 6 bandwidth 1Mbit diffserv4 flows = rtt 100.0ms raw=20 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)=20 backlog 0b 0p requeues 0=20 capacity estimate: 1Mbit Tin 0 Tin 1 Tin 2 Tin 3 =20 thresh 1Mbit 937504bit 750Kbit 250Kbit target 18.2ms 19.4ms 24.2ms 72.7ms interval 95.0ms 95.0ms 95.0ms 95.0ms Pk-delay 0us 0us 0us 0us Av-delay 0us 0us 0us 0us Sp-delay 0us 0us 0us 0us pkts 0 0 0 0 bytes 0 0 0 0 way-inds 0 0 0 0 way-miss 0 0 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 0 0 0 last-len 0 0 0 0 max-len 0 0 0 0 moeller@happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc del dev eth0 = root moeller@happy-horse:~/CODE/sch_cake> sudo tc-toke qdisc replace dev eth0 = root cake bandwidth 1Mbit diffserv4 ; sudo tc-toke -s qdisc qdisc cake 8017: dev eth0 root refcnt 6 bandwidth 1Mbit diffserv4 flows = rtt 100.0ms raw=20 Sent 146 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)=20 backlog 0b 0p requeues 0=20 capacity estimate: 996096bit Tin 0 Tin 1 Tin 2 Tin 3 =20 thresh 1Mbit 937504bit 750Kbit 250Kbit target 18.2ms 19.4ms 24.2ms 72.7ms interval 95.0ms 95.0ms 95.0ms 95.0ms Pk-delay 0us 0us 0us 0us Av-delay 0us 0us 0us 0us Sp-delay 0us 0us 0us 0us pkts 0 1 0 0 bytes 0 146 0 0 way-inds 0 0 0 0 way-miss 0 1 0 0 way-cols 0 0 0 0 drops 0 0 0 0 marks 0 0 0 0 Sp-flows 0 1 0 0 Bk-flows 0 0 0 0 last-len 0 146 0 0 max-len 0 146 0 0 moeller@happy-horse:~/CODE/sch_cake>=20 At least in full automatic mode I would have assumed cake would also = increase the interval according to the available bandwidth in the = different Tins... >=20 >> Also I notice the disparity between parameter name =93rtt=94 and the = name >> of the reported statistic =93interval=94. Jonathan, Dave, what is = your >> preference change the reported stats name or the parameter name (I >> believe it should be that statistic that needs renaming). >=20 > Yes, if we're calling it RTT it should be RTT throughout. I do think > that makes more sense than interval. Ah, thanks. (Personaly I would prefer codel_interval ;) ) >=20 >> Next question what is the opinion on exposing target in addition to >> interval? My point, which I might have over-repeated already, is we >> should expose and honor it if possible. (Any with honor I mean = replace >> the 5ms default but do all calculations as cake usually does for >> different priority bands; that also means that if only one of = interval >> or target where specified cake is free to scale the other one to what >> it considers reasonable). >=20 > I seem to recall that at some point we has "easy to configure" as a = goal > of Cake. Well, in the easy configuration it lis full automatic and does = the right thing; it does not get any easier to configure than: tc qdisc replace dev eth0 root cake All the additional parameters are there to tweak and experiment. So I = argue exposing knobs is not making it difficult to configure as long as = nobody needs to touch these (I also volunteer to make the tc help more = specific in that regard=85) Best Regards Sebastian >=20 > -Toke