From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by huchra.bufferbloat.net (Postfix) with ESMTP id 2E7DF21F150 for ; Tue, 27 Aug 2013 03:42:56 -0700 (PDT) Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r7RAgoVQ026599 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 27 Aug 2013 06:42:50 -0400 Received: from localhost (ovpn-116-39.ams2.redhat.com [10.36.116.39]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r7RAgmDm018695; Tue, 27 Aug 2013 06:42:49 -0400 Date: Tue, 27 Aug 2013 12:42:46 +0200 From: Jesper Dangaard Brouer To: Sebastian Moeller Message-ID: <20130827124246.33c58354@redhat.com> In-Reply-To: <9A9B094D-CA07-48B0-85FE-FA7C759FEDE3@gmx.de> References: <56B261F1-2277-457C-9A38-FAB89818288F@gmx.de> <2148E2EF-A119-4499-BAC1-7E647C53F077@gmx.de> <03951E31-8F11-4FB8-9558-29EAAE3DAE4D@gmx.de> <9A9B094D-CA07-48B0-85FE-FA7C759FEDE3@gmx.de> Organization: Red Hat Inc. Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 Cc: "cerowrt-devel@lists.bufferbloat.net" Subject: Re: [Cerowrt-devel] some kernel updates 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, 27 Aug 2013 10:42:56 -0000 On Fri, 23 Aug 2013 21:38:10 +0200 Sebastian Moeller wrote: > On Aug 23, 2013, at 07:13 , Dave Taht wrote: >=20 > > On Thu, Aug 22, 2013 at 5:52 PM, Sebastian Moeller wr= ote: > > Hi List, hi Jesper, [...] > > It's my hope that the atm code works but is misconfigured. You can outp= ut the tc commands by overriding the TC variable with TC=3D"echo tc" and pa= ste here. >=20 > So I went for TC=3D"logger tc" and used log read to harvest as I could n= ot find the echo output, but I guess that should not matter. So here is the= result (slightly edited to get rid of the log timestamps and log level): >=20 > tc qdisc del dev ge00 root > tc qdisc add dev ge00 root handle 1: htb default 12 > tc class add dev ge00 parent 1: classid 1:1 htb quantum 1500 rate 2430k= bit ceil 2430kbit mpu 0 linklayer adsl overhead 40 mtu 2047 > tc class add dev ge00 parent 1:1 classid 1:10 htb quantum 1500 rate 243= 0kbit ceil 2430kbit prio 0 mpu 0 linklayer adsl overhead 40 mtu 2047 > tc class add dev ge00 parent 1:1 classid 1:11 htb quantum 1500 rate 128= kbit ceil 810kbit prio 1 mpu 0 linklayer adsl overhead 40 mtu 2047 > tc class add dev ge00 parent 1:1 classid 1:12 htb quantum 1500 rate 405= kbit ceil 2366kbit prio 2 mpu 0 linklayer adsl overhead 40 mtu 2047 > tc class add dev ge00 parent 1:1 classid 1:13 htb quantum 1500 rate 405= kbit ceil 2366kbit prio 3 mpu 0 linklayer adsl overhead 40 mtu 2047 [...] Looks good. > tc qdisc del dev ifb0 root > tc qdisc add dev ifb0 root handle 1: htb default 12 > tc class add dev ifb0 parent 1: classid 1:1 htb quantum 1500 rate 15494= kbit ceil 15494kbit > tc class add dev ifb0 parent 1:1 classid 1:10 htb quantum 1500 rate 154= 94kbit ceil 15494kbit prio 0 > tc class add dev ifb0 parent 1:1 classid 1:11 htb quantum 1500 rate 32k= bit ceil 5164kbit prio 1 > tc class add dev ifb0 parent 1:1 classid 1:12 htb quantum 1500 rate 258= 2kbit ceil 15430kbit prio 2 > tc class add dev ifb0 parent 1:1 classid 1:13 htb quantum 1500 rate 258= 2kbit ceil 15430kbit prio 3 [...] Looks like the "linklayer adsl" is missing here. > I notice it seem this only shows up for egress(), but looking at > simple.qos ingress() is not addend ${ADSLL} at all so that is to be > expected. There is nothing in dmesg at all. You should also shape the downstream direction, as an atm/adsl link, or else you will not be the bottleneck in this direction, and thus cannot control the delay. (and yes I do know, that we can be overloaded downstream by UDP packets, and we depend on TCP to make shaping in this direction work, but this is the best we can do, when not controlling the DSLAM). > So I am off to add ADSLL to ingress() as well and then test RRUL again... >=20 >=20 > Jesper please let me know if this looks reasonable, at least to my eye it= seems to fit with what "tc disc add htb help" tells me. I tried your: > echo "func __detect_linklayer +p" /sys/kernel/debug/dynamic_debug/control > but got no output even though debugs was already mounted=E2=80=A6 That sounds weird! Perhaps the kernel were simply not compiled with CONFIG_DYNAMIC_DEBUG=3Dy, or else my detection code is flawed. The expected output should have been something like: ./tc_htb_linklayer01.sh eth2 atm 2430 0; dmesg -c | grep "TC linklayer:" BW limit on dev eth2 at rate:2430kbit/s and ceil:2430kbit/s tc qdisc del dev eth2 root tc qdisc add dev eth2 root handle 1: htb default 50 tc class add dev eth2 parent 1: classid 1:1 htb rate 2430kbit ceil 2430kbit= burst 1600 cburst 1600 linklayer atm mpu 0 tc class add dev eth2 parent 1:3 classid 1:50 htb rate 2430kbit ceil 2430kb= it prio 5 burst 1600 cburst 1600 linklayer atm mpu 0 tc class add dev eth2 parent 1:3 classid 1:60 htb rate 2430kbit ceil 2430kb= it prio 5 burst 1600 cburst 1600 linklayer atm mpu 0 tc qdisc add dev eth2 parent 1:50 handle 4250: fq_codel [109653.174322] TC linklayer: Detected ATM, low(0)=3Dhigh(5)=3D2718 [109653.174327] TC linklayer: Detected ATM, low(0)=3Dhigh(5)=3D2718 [109653.181403] TC linklayer: Detected ATM, low(0)=3Dhigh(5)=3D2718 [109653.181408] TC linklayer: Detected ATM, low(0)=3Dhigh(5)=3D2718 [109653.190105] TC linklayer: Detected ATM, low(0)=3Dhigh(5)=3D2718 [109653.190108] TC linklayer: Detected ATM, low(0)=3Dhigh(5)=3D2718 --=20 Best regards, Jesper Dangaard Brouer MSc.CS, Sr. Network Kernel Developer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer