From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-x235.google.com (mail-oi0-x235.google.com [IPv6:2607:f8b0:4003:c06::235]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id D425B21F2EE for ; Tue, 21 Oct 2014 13:59:42 -0700 (PDT) Received: by mail-oi0-f53.google.com with SMTP id v63so1658914oia.40 for ; Tue, 21 Oct 2014 13:59:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=sQowHSUbE5cvPYXve49i1IAgEGFiOskxvdQ1eHrNTO8=; b=aZ+rCsZXZZYs/kUqulBkEMpyDHyZu7hV4IFkLkXO8nHSXdTUds+EJZU4LOw0loG9Ne v+9jtJpC7DaTpmNhwsZURe09QAKTk6TbEAcxtIl0zPuxGTYTB5zBXDVKVj6pxBze6bec Euz4AySQrJoPvU4Cx7Dv9c0a+mE/DWMJoFlFWYFhLMuRMV/AwtUL8lyyYhLwtdSo11Ta DRM8Re7tGScp5Fcr5OOhl1H/0jaZwzgWUymb7M0U17QgsrwRfNzR308Jfa3hW9FzR7CF gzb3w7TktWYcHs6rNzjCz5YQyeFse3nyOla3xvrNCb+OdXq9uI/Lg7pkuRqcRTwJN/yk 6PQA== MIME-Version: 1.0 X-Received: by 10.182.81.10 with SMTP id v10mr4315661obx.72.1413925181381; Tue, 21 Oct 2014 13:59:41 -0700 (PDT) Received: by 10.202.227.211 with HTTP; Tue, 21 Oct 2014 13:59:41 -0700 (PDT) In-Reply-To: References: <121767.1413574248@turing-police.cc.vt.edu> <9382.1413826910@turing-police.cc.vt.edu> <544672D3.8020709@redhat.com> <58702.1413908858@turing-police.cc.vt.edu> <54469242.5010506@redhat.com> <54469B96.50204@redhat.com> Date: Tue, 21 Oct 2014 13:59:41 -0700 Message-ID: From: Dave Taht To: Tom Gundersen Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: "cerowrt-devel@lists.bufferbloat.net" Subject: Re: [Cerowrt-devel] SQM in mainline openwrt, fq_codel considered for fedora default X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Oct 2014 21:00:11 -0000 On Tue, Oct 21, 2014 at 12:51 PM, Dave Taht wrote: >> http://snapon.lab.bufferbloat.net/~d/beagle_bql/bql_makes_a_difference.p= ng >> >> You can see that BQL makes the most difference in the latency. > > And ALSO that these fixes also improved system throughput enormously. Meant to include that plot. http://snapon.lab.bufferbloat.net/~d/beagle_bql/beaglebonewithbql.png You can disregard the decline in download bandwidth (as we are also sending 5x as many acks and measurement data, which is not counted in that part of the plot) > This is partially due to the improvement in ack clocking you get from > reduced RTTs, partially due to improved cache behavior (shorter > queues), and partially continual improvements elsewhere in the tcp > portions of the stack. > > With more recent kernels... > > I now get full throughput from the beagles in both directions with the > 3.16 kernel, > the stil out of tree bql patch, and either fq or fq_codel. I haven't > got around to plotting all those results (they are from kathie's new > lab), but they are here: > http://snapon.lab.bufferbloat.net/~d/pollere/ The latency spikes are generally due to not having BQL, probably: http://snapon.lab.bufferbloat.net/~d/pollere/beagle/beagle-3.8-nobql-fq-fq_= codel.png This is using the new fq scheduler on both sides, with BQL enabled. http://snapon.lab.bufferbloat.net/~d/pollere/beagle/beagle_3.16-fq-fq-no-of= floads.png The switch most likely is prioritizing EF marked packets. (as is sch_fq). Most of the buffering is in the switch, not the host, now. (the prior results I showed had no switch in the way) > There is a small buffered tail dropping switch in the way, on these > later data sets. There was some puzzling behavior on the e1000e that I > need to poke into in a more controlled setting. > > As for other tunables on hosts, TCP small queues might be amiable to > some tuning, but that too may well evolve further in kernelspace. So I have now drowned you in data on one architecture and setup. The most thoroughly publicly analyzed devices and drivers are the ar71xx, e1000e, and beaglebone at this point. The use of fq_codel in a qos system (artificially rate limited using htb, hfsc, or tbf) is pretty well proven to be a huge win at this point. At line rates fq and fq_codel still help quite a bit without a BQL enabled driver, BQL is needed for best results. I don't know to what extent the BQL enabled drivers already cover the marketplace, it was generally my assumption that the e1000e counted for a lot... http://www.bufferbloat.net/projects/bloat/wiki/BQL_enabled_drivers And thus with all the positive results so far, more wider distribution of the new stuff on more devices outside the sample set of those on the bloat, cerowrt-devel and codel lists (about 500 people all told), and all ya gotta do is turn it on. This gets me to the stopping point that we hit a whlle back, which was reliably determining if a good clocksource was present in the system. Somehow. clock_getres, perhaps? > -- > Dave T=C3=A4ht > > http://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks --=20 Dave T=C3=A4ht thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks