From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-x22f.google.com (mail-ie0-x22f.google.com [IPv6:2607:f8b0:4001:c03::22f]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 0285721F11C for ; Tue, 4 Jun 2013 13:26:09 -0700 (PDT) Received: by mail-ie0-f175.google.com with SMTP id a11so1529396iee.34 for ; Tue, 04 Jun 2013 13:26:09 -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; bh=jCpUBUmPNlQXqrIX49JFft8K0vwwcPbe9xP5Xi8Rhp0=; b=th8lEK3h0e0MXxseGTQ8MySjFBwottrm3zgLCGoQ5SPtvxvkvGo7lg559xQGug3ZG0 hPCPWiGRFFelV20KXbvV1e3wA7p4pDl2B4w9D7BtzIjIGDb4g54NDc7ILKK9ydFlz88F Ai/yMBYAYOlRMrWWjKUntqeYdd60qUh2BLq10zdM5kMVSjeDMF02Yb7RtBC/Oo3uRNEv EohfsCdYz27lt8AClyETnAGVjhdq6cSkNeelxqGaJtZNyYh5FB6Sd+T4unA58CQTSGHl XK5Ep5q9Ps7dmMqOWlQExD7xU/B0o5Bh5YMmENGMzqovwcZv+Zi6PC3hoATJITsm9+5P TYYg== MIME-Version: 1.0 X-Received: by 10.50.141.161 with SMTP id rp1mr1853856igb.11.1370377569235; Tue, 04 Jun 2013 13:26:09 -0700 (PDT) Received: by 10.64.35.44 with HTTP; Tue, 4 Jun 2013 13:26:09 -0700 (PDT) In-Reply-To: <20130604222135.67eedab8@redhat.com> References: <20130529151330.22c5c89e@redhat.com> <20130604141342.00c8eb9f@redhat.com> <1370359133.24311.208.camel@edumazet-glaptop> <1370361306.24311.214.camel@edumazet-glaptop> <1370361727.24311.215.camel@edumazet-glaptop> <1370365908.24311.222.camel@edumazet-glaptop> <20130604222135.67eedab8@redhat.com> Date: Tue, 4 Jun 2013 13:26:09 -0700 Message-ID: From: Dave Taht To: Jesper Dangaard Brouer Content-Type: multipart/alternative; boundary=089e013cbdca39007204de59e484 Cc: =?ISO-8859-1?Q?Toke_H=F8iland=2DJ=F8rgensen?= , Mike Frysinger , Jiri Pirko , netdev@vger.kernel.org, bloat@lists.bufferbloat.net, Jiri Benc , Patrick McHardy , Steven Barth , David Miller , Jussi Kivilinna , Felix Fietkau , Michal Soltys Subject: Re: [Bloat] [PATCH] net_sched: htb: do not mix 1ns and 64ns time units X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Jun 2013 20:26:10 -0000 --089e013cbdca39007204de59e484 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, Jun 4, 2013 at 1:21 PM, Jesper Dangaard Brouer wrote: > On Tue, 04 Jun 2013 10:11:48 -0700 > Eric Dumazet wrote: > > > From: Eric Dumazet > > > > commit 56b765b79 ("htb: improved accuracy at high rates") added > > another regression for low rates, because it mixes 1ns and 64ns time > > units. > > > > So the maximum delay (mbuffer) was not 60 second, but 937 ms. > > > > Lets convert all time fields to 1ns as 64bit arches are becoming the > > norm. > > I'm of-cause happy as I need this fixed for big-HW machines at Red Hat. > > But how is this 64-bit usage going to affect performance for smaller > ARM/MIPS based home routers, where shaping at these low rates is more > relevant? (I'm just asking because I don't know, and just test this > on a 24-CPU machine). > I'm not worried about it but will find out shortly in cerowrt. I take it this does not fix the DSL/ATM issue however? > > Tested-by: Jesper Dangaard Brouer > > I have tested you patch, and it works for me. > Tested shaping at 100Kbit/s: > - max "rate 100656bit" on dev lo > - max "rate 102016bit" on a real 1 Gbit/s NIC (dev eth63). > - max "rate 103256bit" on a real 10 Gbit/s NIC (dev eth31). > > The traffic "of-cause" spikes due to the GSO frames, if measuring the > traffic at a higher resolution (I've seen upto 3 sec without traffic). > > Thanks for the quick fix! :-))) > -- > 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 > > Reproducer commands: > tc qdisc add dev lo root handle 1: htb default 1 > tc class add dev lo parent 1: classid 1:1 htb rate 100kbit > netserver > netperf -t TCP_STREAM -l 60 -H 127.0.0.1 -- -m 1024 > > Measuring the qdisc "rate" via: > tc -s -d class show dev lo classid 1:1 > > Data: > =3D=3D=3D=3D=3D > From dev "lo": > -------------- > class htb 1:1 root prio 0 quantum 1250 rate 100000bit ceil 100000bit burs= t > 1600b/1 mpu 0b overhead 0b cburst 1600b/1 mpu 0b overhead 0b level 0 > Sent 597719 bytes 64 pkt (dropped 942, overlimits 0 requeues 0) > rate 100656bit 1pps backlog 0b 1p requeues 0 > lended: 64 borrowed: 0 giants: 0 > tokens: -27387576 ctokens: -27387576 > > From 1Gbit/s dev eth63: > ----------------------- > class htb 1:1 root prio 0 quantum 1250 rate 100000bit ceil 100000bit burs= t > 1600b/1 mpu 0b overhead 0b cburst 1600b/1 mpu 0b overhead 0b level 0 > Sent 1801152 bytes 3224 pkt (dropped 0, overlimits 0 requeues 0) > rate 102016bit 9pps backlog 0b 12p requeues 0 > lended: 2284 borrowed: 0 giants: 0 > tokens: -18923820 ctokens: -18923820 > > > From 10Gbit/s dev eth31: > ------------------------ > class htb 1:1 root prio 0 quantum 1250 rate 100000bit ceil 100000bit burs= t > 1600b/1 mpu 0b overhead 0b cburst 1600b/1 mpu 0b overhead 0b level 0 > Sent 855814 bytes 581 pkt (dropped 0, overlimits 0 requeues 0) > rate 103256bit 9pps backlog 0b 9p requeues 0 > lended: 81 borrowed: 0 giants: 0 > tokens: -45419150 ctokens: -45419150 > > --=20 Dave T=E4ht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html --089e013cbdca39007204de59e484 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Tue, Jun 4, 2013 at 1:21 PM, Jesper D= angaard Brouer <jbrouer@redhat.com> wrote:
On Tue, 04 Jun 2013 10:11:48 -0700
Eric Dumazet <eric.dumazet@gma= il.com> wrote:

> From: Eric Dumazet <edumazet= @google.com>
>
> commit 56b765b79 ("htb: improved accuracy at high rates") ad= ded
> another regression for low rates, because it mixes 1ns and 64ns time > units.
>
> So the maximum delay (mbuffer) was not 60 second, but 937 ms.
>
> Lets convert all time fields to 1ns as 64bit arches are becoming the > norm.

I'm of-cause happy as I need this fixed for big-HW machines at Re= d Hat.

But how is this 64-bit usage going to affect performance for smaller
ARM/MIPS based home routers, where shaping at these low rates is more
relevant? =A0(I'm just asking because I don't know, and just test t= his
on a 24-CPU machine).

I'm not worried about it= but will find out shortly in cerowrt.

I take it this does not fix t= he DSL/ATM issue however?
=A0

Tested-by: Jesper Dangaard Brouer <= brouer@redhat.com>

I have tested you patch, and it works for me.
Tested shaping at 100Kbit/s:
=A0- max "rate 100656bit" on dev lo
=A0- max "rate 102016bit" on a real =A01 Gbit/s NIC (dev eth63).<= br> =A0- max "rate 103256bit" on a real 10 Gbit/s NIC (dev eth31).
The traffic "of-cause" spikes due to the GSO frames, if measuring= the
traffic at a higher resolution (I've seen upto 3 sec without traffic).<= br>
Thanks for the quick fix! :-)))
--
Best regards,
=A0 Jesper Dangaard Brouer
=A0 MSc.CS, Sr. Network Kernel Developer at Red Hat
=A0 Author of ht= tp://www.iptv-analyzer.org
=A0 LinkedIn: http://www.linkedin.com/in/brouer

Reproducer commands:
=A0tc qdisc add dev lo root handle 1: htb default 1
=A0tc class add dev lo parent 1: classid 1:1 htb rate 100kbit
=A0netserver
=A0netperf -t TCP_STREAM -l 60 -H 127.0.0.1 -- -m 1024

Measuring the qdisc "rate" via:
=A0tc -s -d class show dev lo classid 1:1

Data:
=3D=3D=3D=3D=3D
>From dev "lo":
--------------
class htb 1:1 root prio 0 quantum 1250 rate 100000bit ceil 100000bit burst = 1600b/1 mpu 0b overhead 0b cburst 1600b/1 mpu 0b overhead 0b level 0
=A0Sent 597719 bytes 64 pkt (dropped 942, overlimits 0 requeues 0)
=A0rate 100656bit 1pps backlog 0b 1p requeues 0
=A0lended: 64 borrowed: 0 giants: 0
=A0tokens: -27387576 ctokens: -27387576

>From 1Gbit/s dev eth63:
-----------------------
class htb 1:1 root prio 0 quantum 1250 rate 100000bit ceil 100000bit burst = 1600b/1 mpu 0b overhead 0b cburst 1600b/1 mpu 0b overhead 0b level 0
=A0Sent 1801152 bytes 3224 pkt (dropped 0, overlimits 0 requeues 0)
=A0rate 102016bit 9pps backlog 0b 12p requeues 0
=A0lended: 2284 borrowed: 0 giants: 0
=A0tokens: -18923820 ctokens: -18923820


>From 10Gbit/s dev eth31:
------------------------
class htb 1:1 root prio 0 quantum 1250 rate 100000bit ceil 100000bit burst = 1600b/1 mpu 0b overhead 0b cburst 1600b/1 mpu 0b overhead 0b level 0
=A0Sent 855814 bytes 581 pkt (dropped 0, overlimits 0 requeues 0)
=A0rate 103256bit 9pps backlog 0b 9p requeues 0
=A0lended: 81 borrowed: 0 giants: 0
=A0tokens: -45419150 ctokens: -45419150




--
Dave T=E4ht

Fixi= ng bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.ht= ml=20 --089e013cbdca39007204de59e484--