From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756255AbbDOR75 (ORCPT ); Wed, 15 Apr 2015 13:59:57 -0400 Received: from smtp02.citrix.com ([66.165.176.63]:42164 "EHLO SMTP02.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752252AbbDOR7o (ORCPT ); Wed, 15 Apr 2015 13:59:44 -0400 X-IronPort-AV: E=Sophos;i="5.11,582,1422921600"; d="scan'208";a="255397986" Date: Wed, 15 Apr 2015 18:58:07 +0100 From: Stefano Stabellini X-X-Sender: sstabellini@kaball.uk.xensource.com To: Eric Dumazet CC: George Dunlap , 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 , , "David Vrabel" Subject: Re: [Xen-devel] "tcp: refine TSO autosizing" causes performance regression on Xen In-Reply-To: <1429119688.7346.123.camel@edumazet-glaptop2.roam.corp.google.com> Message-ID: 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> <1429119688.7346.123.camel@edumazet-glaptop2.roam.corp.google.com> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-DLP: MIA1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 15 Apr 2015, Eric Dumazet wrote: > On Wed, 2015-04-15 at 18:23 +0100, George Dunlap wrote: > > > Which means that max(2*skb->truesize, sk->sk_pacing_rate >>10) is > > *already* larger for Xen; that calculation mentioned in the comment is > > *already* doing the right thing. > > Sigh. > > 1ms of traffic at 40Gbit is 5 MBytes > > The reason for the cap to /proc/sys/net/ipv4/tcp_limit_output_bytes is > to provide the limitation of ~2 TSO packets, which _also_ is documented. > > Without this limitation, 5 MBytes could translate to : Fill the queue, > do not limit. > > If a particular driver needs to extend the limit, fine, document it and > take actions. What actions do you have in mind exactly? It would be great if you could suggest how to move forward from here, beside documentation. I don't think we can really expect every user that spawns a new VM in the cloud to manually echo blah > /proc/sys/net/ipv4/tcp_limit_output_bytes to an init script. I cannot imagine that would work well.