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 AFE6821F1E4 for ; Tue, 20 Aug 2013 04:26:39 -0700 (PDT) Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r7KBQa5g000502 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 20 Aug 2013 07:26:36 -0400 Received: from localhost (ovpn-116-40.ams2.redhat.com [10.36.116.40]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r7KBQX8f001025; Tue, 20 Aug 2013 07:26:33 -0400 Date: Tue, 20 Aug 2013 13:26:29 +0200 From: Jesper Dangaard Brouer To: stable@vger.kernel.org, Greg Kroah-Hartman Message-ID: <20130820132629.51618797@redhat.com> Organization: Red Hat Inc. Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, bufferbloat-list , David Miller Subject: [Bloat] ADSL/ATM linklayer tc shaping regression fix commits for stable 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, 20 Aug 2013 11:26:40 -0000 Hi Greg (and google search), ADSL/ATM linklayer shaping were broken in kernel release from 3.8 to 3.10 by commit 56b765b79 ("htb: improved accuracy at high rates"). I can see that 3.9-stable is marked EOL, and 3.8-stable also seems closed. I guess it is up to Greg, how far the commits described below can be backported. Below is the commit needed for a 3.9 backport. This was not the only regression introduced by the regression commit, several fixes were required: (Refactor/change commit for easy 3.9 backport step (in v3.10-rc1)): commit 6906f4ed6f8 (htb: add HTB_DIRECT_QLEN attribute) The following commit fixes are in 3.10-rc5: commit 01cb71d2d47 (net_sched: restore "overhead xxx" handling) commit 5343a7f8be1 (net_sched: htb: do not mix 1ns and 64ns time units) The following commit fixes are in 3.10-rc6: commit 40edeff6e1c (net_sched: qdisc_get_rtab() must check data[] array) (this fix goes further back, but needed for linklayer atm, see below[1]) Refactor improvements (v3.11-rc1): commit 130d3d68b52 (net_sched: psched_ratecfg_precompute() improvements) The linklayer ATM/ADSL fix, reached 3.11-rc6: commit 8a8e3d84b17 (net_sched: restore "linklayer atm" handling) [1] Eric Dumazet also found a general "linklayer atm" regression (dating way-back), which could cause rate-tables to get wrongly shared between the same rates with-and-without linklayer atm settings. Addressed/fixed in (3.10-rc6:): - commit 40edeff6e1c (net_sched: qdisc_get_rtab() must check data[] array) When configuring two completely equal rates, the kernel detects that these two equal rates can share the same rate-table. But the kernel didn't check if the rate-table data had been modified, which is done in the linklayer atm case. In practice, this often isn't a problem, as overhead parameter is usually combined with the linklayer parameter. The regression commit 56b765b79 ("htb: improved accuracy at high rates"), is not all bad, it did provided a significantly improved rate shaping accuracy. The old rate-table based system, which this commit removed, would get inaccurate at rates above 100Mbit/s. (ps. I'm the original author of http://www.adsl-optimizer.dk/ and http://sourceforge.net/projects/adsl-optimizer/) -- 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