From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk0-x244.google.com (mail-qk0-x244.google.com [IPv6:2607:f8b0:400d:c09::244]) (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 D07573B29E for ; Wed, 22 Nov 2017 13:03:12 -0500 (EST) Received: by mail-qk0-x244.google.com with SMTP id n3so17885454qkn.11 for ; Wed, 22 Nov 2017 10:03:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=Jw91oiZa7XfKuIvXVBl7MGLgCiB5E1cRKYY5ie/xMSQ=; b=cUaaNX5mgA66bxnYRYOh2EBhys1cA3v8qbnbQxD6NR4744aw3TGhZ87nE6EH2GHTBw SzQbIjXgMVYOj3tfH4Ko26TeokYeO9/bDZiVFivalv1ejB1/tuIVWH4oOe1jpQ0VN9Fi Etk3afgAHsbzfD1v2gq5MI5P9kes//WnRdZxUXQvHFRM3TVILjSKkrOXeZlPNBL+B5Od dLwi1cnffL7uvXnNflsAvGKMwpEgFDIL0u2krj/Fm1Jn+3VhR9GwE0pWe5hq21A+Leho 1Rl1n3zIIsSVjoygmnnOIIsbkYO5uypedPd9qMfaBh8ZtSQNe29EIvMXv7YA7DyG3a9J y1YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=Jw91oiZa7XfKuIvXVBl7MGLgCiB5E1cRKYY5ie/xMSQ=; b=OmieC72BvOACDjG/ifv36an7uc594tUsu8EKiE7YgmcRymrYN6BbzKGfBxLNQ3ZqvG 8GcfwAslqA0lBWv89tZJ9mFRowBxZIfTBgm6eBMXCbWrawZuj8/ArKUe2V2vEt9X1h8J 8txFuwrEcBzuyS7zf1U8myFeUMZCkeSZpBX4zJQu1EVbDnurTPm2hg4S1fg/xmt+CbJ0 znNQbZwrzLp2ehWQRVWciNXst3v8x02HKDRuHB/ROsYmg8Ade3JZ+UHZt2KmiVOXVdcr q0BXu14SsxYkrIO3qDHQw56onX/uOkwB8iw/UtL7+nxDhQ9hHuyFu7EqDhXI+Hf6157C z9hg== X-Gm-Message-State: AJaThX6l+QxH8w7nctiGegoX02bSfBVBxZtcBueJjgslEXyp8vHNKdvA JOPl9pCX0GKgp1Ww6HdiOdQsmJB0pColgQyetjc= X-Google-Smtp-Source: AGs4zMbpCD4HJqEZZkDIZOMeFR3qiMvLM/c6/rFs0coKVrwb+Mhj1VbV/aasGIPW3mM0b2F4HNsCsM7rGrnN1KfjIo0= X-Received: by 10.55.120.199 with SMTP id t190mr17331863qkc.63.1511373792252; Wed, 22 Nov 2017 10:03:12 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.193.93 with HTTP; Wed, 22 Nov 2017 10:03:11 -0800 (PST) In-Reply-To: References: <1511309382-24060-1-git-send-email-dave.taht@gmail.com> From: Dave Taht Date: Wed, 22 Nov 2017 10:03:11 -0800 Message-ID: To: Sebastian Moeller Cc: Cake List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [Cake] [PATCH 0/3] Add Common Applications Kept Enhanced (sch_cake) qdisc 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: Wed, 22 Nov 2017 18:03:12 -0000 at what commit it worked properly? On Wed, Nov 22, 2017 at 3:02 AM, Sebastian Moeller wrote: > Hi All, > > Tl;dr: Automatic accounting of the kernel added dev->hard_header_len seem= s currently broken at least in the cobalt branch... > > > as far as I can tell overhead accounting is still busted: > > > user@work-horse:~/CODE/sch_cake$ sudo ../tc-adv/tc/tc qdisc delete dev et= h0 root; sudo ../tc-adv/tc/tc qdisc replace dev eth0 root cake raw overhead= 5; ../tc-adv/tc/tc -s qdisc show dev eth0 > sudo: unable to resolve host work-horse > sudo: unable to resolve host work-horse > qdisc cake 8014: root refcnt 6 unlimited diffserv3 triple-isolate rtt 100= .0ms noatm overhead 19 via-ethernet total_overhead 19 hard_header_len 14 > Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) > backlog 0b 0p requeues 0 > memory used: 0b of 15140Kb > capacity estimate: 0bit > Bulk Best Effort Voice > thresh 0bit 0bit 0bit > target 5.0ms 5.0ms 5.0ms > interval 100.0ms 100.0ms 10.0ms > pk_delay 0us 0us 0us > av_delay 0us 0us 0us > sp_delay 0us 0us 0us > pkts 0 0 0 > bytes 0 0 0 > way_inds 0 0 0 > way_miss 0 0 0 > way_cols 0 0 0 > drops 0 0 0 > marks 0 0 0 > ack_drop 0 0 0 > sp_flows 0 0 0 > bk_flows 0 0 0 > un_flows 0 0 0 > max_len 0 0 0 > > user@work-horse:~/CODE/sch_cake$ sudo ../tc-adv/tc/tc qdisc delete dev et= h0 root; sudo ../tc-adv/tc/tc qdisc replace dev eth0 root cake overhead 5; = ../tc-adv/tc/tc -s qdisc show dev eth0 > sudo: unable to resolve host work-horse > sudo: unable to resolve host work-horse > qdisc cake 8015: root refcnt 6 unlimited diffserv3 triple-isolate rtt 100= .0ms raw total_overhead 14 hard_header_len 14 > Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) > backlog 0b 0p requeues 0 > memory used: 0b of 15140Kb > capacity estimate: 0bit > Bulk Best Effort Voice > thresh 0bit 0bit 0bit > target 5.0ms 5.0ms 5.0ms > interval 100.0ms 100.0ms 10.0ms > pk_delay 0us 0us 0us > av_delay 0us 0us 0us > sp_delay 0us 0us 0us > pkts 0 0 0 > bytes 0 0 0 > way_inds 0 0 0 > way_miss 0 0 0 > way_cols 0 0 0 > drops 0 0 0 > marks 0 0 0 > ack_drop 0 0 0 > sp_flows 0 0 0 > bk_flows 0 0 0 > un_flows 0 0 0 > max_len 0 0 0 > > user@work-horse:~/CODE/sch_cake$ > > > The first seems okay, but the second should not have reported "raw" but r= ather total_overhead 5 hard_header_len 14 if I understand the intention of = the overhead keyword correctly. This also affects the keywords like conserv= ative: > > user@work-horse:~/CODE/sch_cake$ sudo ../tc-adv/tc/tc qdisc delete dev et= h0 root; sudo ../tc-adv/tc/tc qdisc replace dev eth0 root cake conservative= ; ../tc-adv/tc/tc -s qdisc show dev eth0 > sudo: unable to resolve host work-horse > sudo: unable to resolve host work-horse > qdisc cake 8019: root refcnt 6 unlimited diffserv3 triple-isolate rtt 100= .0ms atm overhead 14 via-ethernet total_overhead 14 hard_header_len 14 > Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) > backlog 0b 0p requeues 0 > memory used: 0b of 15140Kb > capacity estimate: 0bit > Bulk Best Effort Voice > thresh 0bit 0bit 0bit > target 5.0ms 5.0ms 5.0ms > interval 100.0ms 100.0ms 10.0ms > pk_delay 0us 0us 0us > av_delay 0us 0us 0us > sp_delay 0us 0us 0us > pkts 0 0 0 > bytes 0 0 0 > way_inds 0 0 0 > way_miss 0 0 0 > way_cols 0 0 0 > drops 0 0 0 > marks 0 0 0 > ack_drop 0 0 0 > sp_flows 0 0 0 > bk_flows 0 0 0 > un_flows 0 0 0 > max_len 0 0 0 > > user@work-horse:~/CODE/sch_cake$ sudo ../tc-adv/tc/tc qdisc delete dev et= h0 root; sudo ../tc-adv/tc/tc qdisc replace dev eth0 root cake raw conserva= tive; ../tc-adv/tc/tc -s qdisc show dev eth0 > sudo: unable to resolve host work-horse > sudo: unable to resolve host work-horse > qdisc cake 801a: root refcnt 6 unlimited diffserv3 triple-isolate rtt 100= .0ms atm overhead 62 via-ethernet total_overhead 62 hard_header_len 14 > Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) > backlog 0b 0p requeues 0 > memory used: 0b of 15140Kb > capacity estimate: 0bit > Bulk Best Effort Voice > thresh 0bit 0bit 0bit > target 5.0ms 5.0ms 5.0ms > interval 100.0ms 100.0ms 10.0ms > pk_delay 0us 0us 0us > av_delay 0us 0us 0us > sp_delay 0us 0us 0us > pkts 0 0 0 > bytes 0 0 0 > way_inds 0 0 0 > way_miss 0 0 0 > way_cols 0 0 0 > drops 0 0 0 > marks 0 0 0 > ack_drop 0 0 0 > sp_flows 0 0 0 > bk_flows 0 0 0 > un_flows 0 0 0 > max_len 0 0 0 > > user@work-horse:~/CODE/sch_cake$ > > > So in other words currently the automatic accounting for the kernel added= hard_header_len seems broken as the raw keyword disables that functionalit= y. I will try to look deeper into that, but I guess with my limited C skill= s this might do more harm than good... > > Best Regards > Sebastian > > >> On Nov 22, 2017, at 01:09, Dave Taht wrote: >> >> sch_cake is intended to squeeze the most bandwidth and lowest latency ou= t >> of even the slowest ISP links and routers, while presenting an API simpl= e >> enough that even an ISP can configure it. >> >> Example of use on an ISP uplink: >> >> tc qdisc add dev eth0 cake bandwidth 20Mbit nat docsis ack-filter >> >> Cake can also be used in unlimited mode to drive packets at the speed >> of the underlying link. >> >> Cake is filled with: >> >> * A hybrid Codel/Blue AQM algorithm, =E2=80=9CCobalt=E2=80=9D, tied to a= n FQ_Codel >> derived Flow Queuing system, which autoconfigures based on the bandwidt= h. >> * A unique "triple-isolate" mode (the default) which balances per-flow >> and per-host flow FQ even through NAT. >> * An integral deficit based shaper with extensive dsl and docsis support >> that can also be used in unlimited mode. >> * 8 way set associative queuing to reduce flow collisions to a minimum. >> * A reasonable interpretation of various diffserv latency/loss tradeoffs= . >> * Support for washing diffserv for entering and exiting traffic. >> * Perfect support for interacting with Docsis 3.0 shapers. >> * Extensive support for DSL framing types. >> * (New) Support for ack filtering. >> - 20 % better throughput at a 16x1 down/up ratio on the rrul test. >> * Extensive statistics for measuring loss, ecn markings, latency variati= on. >> >> There are some features still considered experimental, notably the >> ingress_autorate bandwidth estimator and cobalt itself. >> >> Various versions shipping have been available as an out of tree build fo= r >> kernel versions going back to 3.10, as the embedded router world has bee= n >> running a few years behind mainline Linux. A stable version has been >> generally available on lede-17.01 and later. >> >> sch_cake replaces a combination of iptables, tc filter, htb and fq_codel= in >> the sqm-scripts, with sane defaults and vastly easier configuration. >> >> Cake's principal author is Jonathan Morton, with contributions from >> Kevin Darbyshire-Bryant, Toke H=C3=B8iland-J=C3=B8rgensen, Sebastian Moe= ller, >> Ryan Mounce, Dean Scarff, Guido Sarducci, Nils Andreas Svee, Dave T=C3= =A4ht, and >> Loganaden Velvindron. >> >> Dave Taht (3): >> pkt_sched.h: add support for sch_cake API >> Add Common Applications Kept Enhanced (sch_cake) qdisc >> Add support for building the new cake qdisc >> >> include/net/cobalt.h | 152 +++ >> include/uapi/linux/pkt_sched.h | 58 + >> net/sched/Kconfig | 11 + >> net/sched/Makefile | 1 + >> net/sched/sch_cake.c | 2551 ++++++++++++++++++++++++++++++++++= ++++++ >> 5 files changed, 2773 insertions(+) >> create mode 100644 include/net/cobalt.h >> create mode 100644 net/sched/sch_cake.c >> >> -- >> 2.7.4 >> >> _______________________________________________ >> Cake mailing list >> Cake@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/cake > --=20 Dave T=C3=A4ht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619