Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932434AbbDORxJ (ORCPT ); Wed, 15 Apr 2015 13:53:09 -0400 Received: from mail-ob0-f177.google.com ([209.85.214.177]:32893 "EHLO mail-ob0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753395AbbDORwz (ORCPT ); Wed, 15 Apr 2015 13:52:55 -0400 Message-ID: <1429120373.7346.125.camel@edumazet-glaptop2.roam.corp.google.com> Subject: Re: [Xen-devel] "tcp: refine TSO autosizing" causes performance regression on Xen From: Eric Dumazet To: George Dunlap Cc: Jonathan Davies , "xen-devel@lists.xensource.com" , Wei Liu , Ian Campbell , Stefano Stabellini , netdev , Linux Kernel Mailing List , Eric Dumazet , Paul Durrant , Christoffer Dall , Felipe Franciosi , linux-arm-kernel@lists.infradead.org, David Vrabel Date: Wed, 15 Apr 2015 10:52:53 -0700 In-Reply-To: <552EA2BC.5000707@eu.citrix.com> References: <1428596218.25985.263.camel@edumazet-glaptop2.roam.corp.google.com> <1428932970.3834.4.camel@edumazet-glaptop2.roam.corp.google.com> <1429115934.7346.107.camel@edumazet-glaptop2.roam.corp.google.com> <552E9E8D.1080000@eu.citrix.com> <1429118948.7346.114.camel@edumazet-glaptop2.roam.corp.google.com> <552EA2BC.5000707@eu.citrix.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1769 Lines: 53 On Wed, 2015-04-15 at 18:41 +0100, George Dunlap wrote: > So you'd be OK with a patch like this? (With perhaps a better changelog?) > > -George > > --- > TSQ: Raise default static TSQ limit > > A new dynamic TSQ limit was introduced in c/s 605ad7f18 based on the > size of actual packets and the amount of data being transmitted. > Raise the default static limit to allow that new limit to actually > come into effect. > > This fixes a regression where NICs with large transmit completion > times (such as xennet) had a 30% hit unless the user manually tweaked > the value in /proc. > > Signed-off-by: George Dunlap > > diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c > index 1db253e..8ad7cdf 100644 > --- a/net/ipv4/tcp_output.c > +++ b/net/ipv4/tcp_output.c > @@ -50,8 +50,8 @@ int sysctl_tcp_retrans_collapse __read_mostly = 1; > */ > int sysctl_tcp_workaround_signed_windows __read_mostly = 0; > > -/* Default TSQ limit of two TSO segments */ > -int sysctl_tcp_limit_output_bytes __read_mostly = 131072; > +/* Static TSQ limit. A more dynamic limit is calculated in > tcp_write_xmit. */ > +int sysctl_tcp_limit_output_bytes __read_mostly = 1048576; > > /* This limits the percentage of the congestion window which we > * will allow a single TSO frame to consume. Building TSO frames > Have you tested this patch on a NIC without GSO/TSO ? This would allow more than 500 packets for a single flow. Hello bufferbloat. So my answer to this patch is a no. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/