From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-x233.google.com (mail-ob0-x233.google.com [IPv6:2607:f8b0:4003:c01::233]) (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 43A0121F2BE for ; Tue, 21 Apr 2015 17:20:05 -0700 (PDT) Received: by obbeb7 with SMTP id eb7so158030185obb.3 for ; Tue, 21 Apr 2015 17:20:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:content-transfer-encoding; bh=XsEKKlLwQ4MOn9DaVpYLFLD/qIQjuTPD2b5dP068PgY=; b=baR9ZL9vcdcEhdWIDQwUdOaQ+k+7IAu7r0bZiIPhVykrle0SYzhKk5LddpdQVDytij YbGAq9huWbG7LmGvlP63xJk82ni+AmUfYAzsLNWHmMShnEGzwXvRNXvAo1dbZSbYDb4k fHsoNB5s2MzP0ixtodJUgB6pciFqUUdz4PhjXSPb0MFtdZaV3+9qwMKOS0y29NPQ8rXN VRf3nM5/QHooNeeYcnX+u/q12tWspjue1NI0x74enmCvqs8v335TwChrKesX8MdJWvZs KUDZHOZ8jgitsx80bJFWoiV8D3fycctjxp5yCZXEHrx4I8IWTN92rsKk6fwLnsMNo3Bd S7Tw== X-Received: by 10.182.213.98 with SMTP id nr2mr21111391obc.76.1429662004500; Tue, 21 Apr 2015 17:20:04 -0700 (PDT) MIME-Version: 1.0 Sender: white.phoenix@gmail.com Received: by 10.202.188.130 with HTTP; Tue, 21 Apr 2015 17:19:34 -0700 (PDT) In-Reply-To: References: <558D3A0C-75A0-4707-95DF-790F29F825AE@gmx.de> From: leetminiwheat Date: Tue, 21 Apr 2015 20:19:34 -0400 X-Google-Sender-Auth: eS4F5ZuLE1TNDd2jOD_ecoD389A Message-ID: To: Sebastian Moeller Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: cerowrt-devel Subject: Re: [Cerowrt-devel] squash/ignore DSCP and mangle table questions 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: Wed, 22 Apr 2015 00:20:34 -0000 Sorry this is getting a bit off-topic here. > On Wed, Apr 15, 2015 at 5:05 AM, Sebastian Moeller wrot= e: > >> On Apr 15, 2015, at 03:35 , leetminiwheat wrot= e: > >> I assume tweaking ring parameters from default RX:128 and TX:32 >> doesn't matter anymore thenr? > > As far as I know we leave that alone, see: http://www.bufferbloat= .net/projects/bloat/wiki/Linux_Tips: > =E2=80=9CSet the size of the ring buffer for the network interface > > NOTE: THIS HACK IS NO LONGER NEEDED on many ethernet drivers in Linux 3.3= , which has Byte Queue Limits instead, which does a far better job." > I noticed Dave mentioned on a mailing list that changing tx ring still does have some benefit, and his notes in debloat script suggest BQL doesn't always work as implied. > >> >>> [...] >>> If you have time and netperf-wrapper it would be good to convince yours= elf and us again, that txqueuelen really does not matter for BQL=E2=80=99d = interfaces by running RRUL tests with and without your modifications=E2=80= =A6. Thanks, after extensive RRUL testing.... I've come to the same conclusion Dave did, that changing tx perameters just isn't worth it and causes instability. I noticed on 120s tests my WAN connection would reset with ath9k: pll_reg and latencies would skyrocket thereafter. I don't quite have a producible error, but it seemed like associating/diassociating wireless clients might be related to it (with Revert "debloat: stop changing wifi qlen") but I was also changing txring on ethernet for testing at 4, 8, 16, etc. Also, I tested some custom HFSC+fq_codel qos scripts here: https://github.com/zcecc22/qos-nxt He defaults to 90% (meaning you have to adjust your b/w limits), and the 2-bin codel doesn't seem to work very well. Seemed like an interesting compromise between simple and simplest, but the results were pretty terrible. I'd like to test CAKE more, but it seems 3.10.50-1 doesn't have the required kernel support. Recent changes in barrier breaker to txring seem pretty dumb, they default to 256 txring now I believe, ticket here was closed with "worksforme" https://dev.openwrt.org/ticket/13072 so I'm reluctant to upgrade, plus I don't fully understand the extent of which Dave's kernel hacks impact things. Closer inspection/comparison/diffs are needed if I'm to upgrade and integrate Cero's tweaks. Oddly enough, simplest.qos on WAN gives me better throughput/latency at times (likely due to less overhead), but other times simple.qos is doing what it should and giving more throughput and lower latency to higher priority traffic. I seem to get better RRUL tests with LIMIT=3D blank, and ILIMIT/ELIMIT set to auto which results in this: qdisc fq_codel a: dev se00 root refcnt 2 limit 1514p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn qdisc htb 1: dev ge00 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 1000 qdisc fq_codel 110: dev ge00 parent 1:11 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn qdisc fq_codel 120: dev ge00 parent 1:12 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn qdisc fq_codel 130: dev ge00 parent 1:13 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn qdisc ingress ffff: dev ge00 parent ffff:fff1 ---------------- qdisc mq 1: dev sw10 root qdisc fq_codel 10: dev sw10 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms qdisc fq_codel 20: dev sw10 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn qdisc fq_codel 30: dev sw10 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn qdisc fq_codel 40: dev sw10 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms qdisc mq 1: dev sw00 root qdisc fq_codel 10: dev sw00 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms qdisc fq_codel 20: dev sw00 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn qdisc fq_codel 30: dev sw00 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn qdisc fq_codel 40: dev sw00 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms qdisc htb 1: dev ifb4ge00 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 32 qdisc fq_codel 110: dev ifb4ge00 parent 1:11 limit 1024p flows 1024 quantum 500 target 5.0ms interval 100.0ms ecn qdisc fq_codel 120: dev ifb4ge00 parent 1:12 limit 1024p flows 1024 quantum 1500 target 5.0ms interval 100.0ms ecn qdisc fq_codel 130: dev ifb4ge00 parent 1:13 limit 1024p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn qdisc htb 1: dev ifb4gw00 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 32 qdisc fq_codel 110: dev ifb4gw00 parent 1:11 limit 1024p flows 1024 quantum 500 target 10.3ms interval 105.3ms ecn qdisc fq_codel 120: dev ifb4gw00 parent 1:12 limit 1024p flows 1024 quantum 1500 target 10.3ms interval 105.3ms ecn qdisc fq_codel 130: dev ifb4gw00 parent 1:13 limit 1024p flows 1024 quantum 300 target 10.3ms interval 105.3ms ecn image of RRUL 45s graph here with simple.qos, no tx changes, auto LIMIT on FiOS 32/25 (30Mb/22.5Mb QoS): https://screencloud.net/v/tVV0 - looks pretty good to me, but I should set up more MARK or DSCP classifications for my important/unimportant traffic. MARK is probably a better idea since it won't unnecessarily mis-flag outgoing traffic. I assume QOS_MARK_ge00 sees marks from other interfaces too. I'm still unsure whether to apply simple/simplest to my secure wireless or leave it alone, Dave's debloat script seems to have wireless-specific optimizations when left on auto, does simple.qos handle VO/VI/BE/BK queues as efficiently? I never top out my wireless since it's used only for mobile phones anyways and I run HT20 which seems to be more reliable/less latency. however my guest wifi I do need to limit and segregate via firewall so I have it enabled. P.S. I learned the hard way NEVER to enable port 4 on the switch, results in broken ethernet. port4 is unused and likely internally reserved for unknown purposes. I'm still trying to figure out how it maps an interface to an actual port, since I'd like to assign a single switch switch port to it's own subnet for my FiOS router instead of having to use a secondary router to clone the ge00 interface on the backend router to forward FiOS ports to the verizon/FiOS MOCA bridge router in order for alerts to display on set-top boxes such as caller ID. There has to be a way of doing this without needing 3 routers... My current thoughts are to remove the port (port3 in this case) from the switch and make a new switch config with just 4 and 5t and somehow make a new interface on that for the FiOS router, but assigning the same ip address as the default gateway/route from ge00 on that port might confuse routing. More information on their rather complicated and seemingly unnecessary config with a backend router is located here: http://www.dslreports.com/faq/verizonfios/3.0_Networking#16710