From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x332.google.com (mail-ot1-x332.google.com [IPv6:2607:f8b0:4864:20::332]) (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 187FD3CB37 for ; Tue, 6 Aug 2019 00:05:15 -0400 (EDT) Received: by mail-ot1-x332.google.com with SMTP id b7so39009519otl.11 for ; Mon, 05 Aug 2019 21:05:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=RQIgFswVibcquJKrrMnQYIoARQMel6795QcWtv8rMdk=; b=oXlKNqUQXBgzJ31eaHi4q9KCe3XYDgkxwVSvy9J+ckzsjoClD7zwqY7gSirBSe+q2C LxlQmVWBEXpNtlnVFPdvvDlP7imNQKB0t37M/72SKYOnFez2oue6H5trR/S+1spQsb7B kYgJYKM6p1rScLcSnIJlzAy1NeVKra2+MHp0lInt1xvi9WjA7ErnW4pk36E9yqZWywqX Zl3FYvX9NpFWeEDbAZ+5EzL4cf5m6iKcG0li9ZGxLabcLGSEI4Lf13tKUgdIVMtV+xTC Eyx6ny2B20jTyFCYG3r1h3Lg4bTnRJ94H4WfP4k16KEMLHU+uTZ0ZPMcbh+kOJ16ryZC WgWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=RQIgFswVibcquJKrrMnQYIoARQMel6795QcWtv8rMdk=; b=oZaDRoRtA+c4mX8k9F8DlsHFNbkyiz2SvvIec+wt4KLF0LQwaOxQz6ybB3U9nWBd3N +M8zAxgJIfpZHApnlbKRL3lI8ZhGBBEI0mb+qZM+SDjdvXFbIV8Mg0uevWT7cGRSCCri Tu1V6dgSoEIA83xtfr5o62ww/amXTEiAcXm3L9GcCAPzs+5WHayId5mJTNP+9CbstgVH KsjPbqKcV7lTlrmkh2IqFzjE8Hfd2SQRIY/BOzcKQsx6e3zkUH13dMbirpOlIUSmeN6G DiysgA3imYhm2ryOd6FaIbRKRsMkoZcscafcMwNIRkoxxzkYiTaIuXON8UVCMuRkqJ3f YMYQ== X-Gm-Message-State: APjAAAWZF5pYoID4TRr68gcoMrCVxGTBFHLtcwxFA+CaaLG19k8fbMbx mNWOd0YO225JipXRyvk7n/kGFXxIkRTbgtKEjHFAorcI X-Google-Smtp-Source: APXvYqzy6WyPAIiKa8QujvwTC+mbgNSo6skysgVp1gftdSfXuqAKYN+yILvENiAPHDVyL7koDBD66MWd+3S0c+TzU64= X-Received: by 2002:a5e:d615:: with SMTP id w21mr1549491iom.0.1565064314204; Mon, 05 Aug 2019 21:05:14 -0700 (PDT) MIME-Version: 1.0 From: Dave Taht Date: Mon, 5 Aug 2019 21:05:02 -0700 Message-ID: To: ECN-Sane Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [Ecn-sane] Exploring L4S and SCE possible pathologies with ubuntu .debs X-BeenThere: ecn-sane@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion of explicit congestion notification's impact on the Internet List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Aug 2019 04:05:15 -0000 This build is a collection of possible pathological interactions between the L4S and SCE concepts - as well as being primarily a means fo me to catch up on the state of the code.... I wouldn't run it on the internet, nor do I plan to run it much longer than to get a few tests done and a few packet captures to look at. http://www.taht.net/~d/l4svsSCE/ It is based on net-next of commit: 9e8fb25254f76cb483303d8e9a97ed80a65418fe In terms of *others* thinking up a repeatable test matrix and tools for automating one, maybe this will "help". A ton of this code is totally untested by me, may have other bugs, besides the logical ones, and if it breaks, you get to keep both pieces. Might not even boot! * sch_fq has been modified to turn ce_marks into sce_marks via ce_threshold * sch_fq_codel has both regular ecn and ce_threshold as ce_threshold * sch_cake is sce with ramp and regular ecn * sch_fq_codel_fast has sce threshold and also splits GSO/GRO packets * dualpi is dualpi from the L4Sforupstream repo dctcp is *stock* which I hope now responds to loss properly dctcp-sce is Jon's rewrite - but do we need a BSD client? cubic is still stock cubic with RFC3168 CE cubic-sce is Jon's SCE mods with RFC3168 still alpha testing reno-sce is reno with SCE and RFC3168 responses enabled. bbr is bbrv1 - no ecn support is in that at all - however if you negotiate ecn, interesting things might happen bbrv2 is bbrv2. dctcp-style ECN CE is available via a module parameter. As per the IETF conference, IW10 is paced, not burst. I thought about making it IW4 as a burst. Certainly we see lots of IW10 or worse bursts. But wait! There's more! The mac80211 wifi drivers actually dynamically chos= e whether codel ecn on or off was a function of the rate, which is, well, dyn= amic, and used really outrageous targets in the case of really low rates or lots of stations. I made 'em be ecn always and reduced the target back to 6ms from 20ms, and enabled sce_threshold. Wheeee! I was going to layer in fq_pie here also just for fun. Might do that if I f= eel an urge to build another release. This combination of conflicting options can be combined a whole ton of bad ways and a few good ones, tied together with network namespaces, run over your net, on your laptop, over your wifi, in a vm or three, whatever. Also cpu impact should be measurable - in my case, prior to all this starting, I'd been working on a faster version of fq_codel that was more O(1), and wanted to measure it. Might as well measure dualpi & cake too. I wouldn't draw any conclusions about bandwidth or latency from this code without being very, very careful. I fact, if I were you I'd not download, install it, and play with any of these options at all. But I'm not you! Have at it. In wading through all this code I did make two conclusions. 1) If ce_threshold is being used in the field as a way of moderating self congestion it's interesting. No matter which response to self-congestion it does lower the load. I really wish we knew how many used this today. As much as I wanted to retire ce_threshold I now feel we need a separate API for sce. Which is OK, assuming the ramp thing is a thing. It is just massively cleaner codewise to make sce an explicit thing. 2) I think the interaction between GSO'd behavior and non-GSO'd behavior is going to be interesting. sch_fq releases 2 packets at a time, the fq_codel deployment is often quantum 300. cake dynamically sets the quantum. and then there's ack-filtering and wifi! Anyway: https://github.com/dtaht/tc-adv has the sch_cake and fq_codel_fast support, the dualpi repo has the relevant tc support --=20 Dave T=C3=A4ht CTO, TekLibre, LLC http://www.teklibre.com Tel: 1-831-205-9740