Re: [aqm] RED implementation on Linux 3.14.22
Dave Taht <dave.taht@gmail.com> Mon, 15 December 2014 15:54 UTC
Return-Path: <dave.taht@gmail.com>
X-Original-To: aqm@ietfa.amsl.com
Delivered-To: aqm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DEAA91A1AFB for <aqm@ietfa.amsl.com>; Mon, 15 Dec 2014 07:54:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.7
X-Spam-Level:
X-Spam-Status: No, score=0.7 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id z24xIjmJnt9G for <aqm@ietfa.amsl.com>; Mon, 15 Dec 2014 07:54:25 -0800 (PST)
Received: from mail-oi0-x235.google.com (mail-oi0-x235.google.com [IPv6:2607:f8b0:4003:c06::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5F7351A7005 for <aqm@ietf.org>; Mon, 15 Dec 2014 07:54:25 -0800 (PST)
Received: by mail-oi0-f53.google.com with SMTP id x69so7992999oia.26 for <aqm@ietf.org>; Mon, 15 Dec 2014 07:54:24 -0800 (PST)
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:content-transfer-encoding; bh=EavePM0A1khfrIZIj+DgNov7w0JaEmaZSOZPGJdpV70=; b=QKrxaHx2re6SAUJk2YlZA/8687EZvEPPBTHmsKTOGnZC+D5jkZHlX0YqrzdIf2GrBC zS8PggbCjilMDZwYSHQ4dhK7V9iAaqtMcl1tL6fMUggnHOBPItI6PdJgERyoMkTHpsT7 EHqIY9i8GrhuSqnZf8SLu3qfkqEkDKYzooqkjHIt+pF5n08j+KjZVqHXfLYl8Ym4rdp+ 2weo4FxMWCeobRNkgQiFym/4Ja44kqqHoxTt6z2vjdGucObCY514sI3QRX7+r0RMQDqT ZWDbYins/R/XJMgwWo74BrZAJbx4aWGaQXcOF27MUIyp00L/Fu+JaF8XpGlJD2jUpeVv bEIQ==
MIME-Version: 1.0
X-Received: by 10.60.52.72 with SMTP id r8mr4510941oeo.75.1418658864654; Mon, 15 Dec 2014 07:54:24 -0800 (PST)
Received: by 10.202.227.77 with HTTP; Mon, 15 Dec 2014 07:54:24 -0800 (PST)
In-Reply-To: <CAGhGL2D2XPrv0pjWv+i+UVTafHsvLnapShe+MHW3LRyxY24ACg@mail.gmail.com>
References: <CAPJm55PbSg4_nHfMAyLfJC_zyaBJUFzTr4pj_ieBbrbJW0Wbgg@mail.gmail.com> <CAGhGL2D2XPrv0pjWv+i+UVTafHsvLnapShe+MHW3LRyxY24ACg@mail.gmail.com>
Date: Mon, 15 Dec 2014 07:54:24 -0800
Message-ID: <CAA93jw5bvuh4KMhuYJNN5p=593KK0DPmynJBVs0_NADAYARpXg@mail.gmail.com>
From: Dave Taht <dave.taht@gmail.com>
To: Jim Gettys <jg@freedesktop.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/aqm/iHBtaiDazc9vi-QTfyKT13xCoM8
Cc: Simone Ferlin-Oliveira <ferlin@simula.no>, "aqm@ietf.org" <aqm@ietf.org>
Subject: Re: [aqm] RED implementation on Linux 3.14.22
X-BeenThere: aqm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for active queue management and flow isolation." <aqm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/aqm>, <mailto:aqm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/aqm/>
List-Post: <mailto:aqm@ietf.org>
List-Help: <mailto:aqm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/aqm>, <mailto:aqm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Dec 2014 15:54:28 -0000
On Mon, Dec 15, 2014 at 5:41 AM, Jim Gettys <jg@freedesktop.org> wrote: > > > On Mon, Dec 15, 2014 at 2:51 AM, Simone Ferlin-Oliveira <ferlin@simula.no> > wrote: >> >> All, >> >> I am doing some work with shared bottleneck detection that requires >> some evaluation with different AQM, in particular, RED. Since I >> haven't been following the evolution of the implementation, I would >> like to ask about your experience with the code on Linux 3.14 (and >> newer). > > > I know that Dave Taht ran into bugs in RED a while back, which I believe > have been fixed for quite a while. The power of git to answer questions like this is unparalleled. Taking a look at my current kernel tree and doing a: git log net/sched/sch_red.c shows eric fixed 2 bugs in Linux RED in commit 1ee5fa1e9970a16036e37c7b9d5ce81c778252fc Author: Eric Dumazet <eric.dumazet@gmail.com> Date: Thu Dec 1 11:06:34 2011 +0000 sch_red: fix red_change ... http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1ee5fa1e9970a16036e37c7b9d5ce81c778252fc ARED was added slightly later, and sfqred (a first attempt at blending fq + AQM together) shortly after that. (which doesn't do ared (never made it to mainline as fq_codel landed soon after that) Advice: Keep track of net-next, do git pulls regularly, and watch "git log net" for changes. > You should always be looking at whether code has been patched in the current > kernel.org system for a module like that you are interested in, so do a diff > between 3.14 and the current Linux system. 3.14 is recent enough that it may > be viable for experiments, for the time being. Planning to keep up with > Linux development is wise long term in any case, as the rate of > improvement/change in the networking stack is very high at the moment as > draining the bufferbloat swamp and other performance work continues. Important changes since 3.14: pie added, DCTCP added, gso/tso offloads seriously reworked and made gentler, sch_fq's pacing improved. The last kernel rounds (3.18,3.19) were seriously productive: hystart improved at longer RTTs, still more TSO/gso improvements, and xmit_more support was added for some devices. Also support for per route congestion control settings (primarily targetted at DCTCP) was just added. I believe some of the long RTT falloff we saw in toke's paper was due to hystart issues, as I have been unable to duplicate some of his results with this upcoming release. I have basically thrown out all my 3.14 results at this point and am starting over with the soon-to-stablize 3.19 release. (Well, in fact, I ended up starting over 3 times in the last 2 months as each of the new features above landed in the kernel) (but as for red, no changes except in the underlying TCPs and device drivers) Relevant commits were: Hystart change: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=42eef7a0bb0989cd50d74e673422ff98a0ce4d7b xmit_more: http://netoptimizer.blogspot.com/2014/10/unlocked-10gbps-tx-wirespeed-smallest.html very good lwn article on it http://lwn.net/Articles/615238/ one of several GSO fixes: commit d649a7a81f3b5bacb1d60abd7529894d8234a666 Author: Eric Dumazet <edumazet@google.com> Date: Thu Nov 13 09:45:22 2014 -0800 tcp: limit GSO packets to half cwnd ... etc. Do a git log net. :) preso that convinced systemd to switch to fq_codel: http://lwn.net/Articles/616241/ > Also note that underlying device drivers may have (sometimes lots) of > buffering out of control of the Linux queue discipline. For Ethernet > devices, you should ensure that that the drivers have BQL support > implemented to minimize this buffering. Other classes of drivers are more > problematic, and may have lots of buffering to surprise you. +10 (or rather, -10). It's up to 25 devices now. I note that TSO/GSO used to interact very badly with soft rate limiting (htb), it seems better now. > > Also be aware that ethernet flow control may move the bottleneck from where > you expect to somewhere else, and that switches in networks also have to be > well understood. Most consumer switches have this *on* by default, and > mixed 1G/100Mb networks can be particularly "entertaining" in this regard. > Cable modems, unfortunately, typically do not implement flow control, but > some DSL modems do (putting the bottleneck into your router, rather than in > the modem). I should probably put red back into my test matrixes. I stopped benchmarking it and pfifo_fast a long time ago. A netperf-wrapper data set that predates the hystart fix, testing 3 RTTs: http://snapon.lab.bufferbloat.net/~d/comprehensive.puck/ or: http://snapon.lab.bufferbloat.net/~d/comprehensive_puck.tgz >> >> *Any* help is appreciated. > > > Hope this helps. > >> >> >> Thanks, >> Simone >> >> _______________________________________________ >> aqm mailing list >> aqm@ietf.org >> https://www.ietf.org/mailman/listinfo/aqm -- Dave Täht thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks
- [aqm] RED implementation on Linux 3.14.22 Simone Ferlin-Oliveira
- Re: [aqm] RED implementation on Linux 3.14.22 Jim Gettys
- Re: [aqm] RED implementation on Linux 3.14.22 Dave Taht
- Re: [aqm] RED implementation on Linux 3.14.22 Dave Taht
- Re: [aqm] RED implementation on Linux 3.14.22 Simone Ferlin-Oliveira