Received: by 10.223.185.116 with SMTP id b49csp1043375wrg; Fri, 16 Feb 2018 11:21:46 -0800 (PST) X-Google-Smtp-Source: AH8x2257Rm8CQ+CyUq5HJl3v2L0doI8vy8aoyzhQJxVK9TnyUPFvmdPBTAg2Vew9AoVIQ0FGRvRL X-Received: by 10.99.99.132 with SMTP id x126mr5828904pgb.86.1518808906813; Fri, 16 Feb 2018 11:21:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518808906; cv=none; d=google.com; s=arc-20160816; b=XvMBRA46FyjaepyEIkD3XnH9D5Ks+GhoG+UJgVWiRPyEaPNx8H4zNwcJx6dCEzRTyN Ku6qZkZ1Q2HN/6dlRe29QMIgCZEYTrCww56x5axhdW9GgeUHvoBlwHLdNxfqUb6lwgzP 6A6yAlA2HV/Qe78ZA52EWLxXyiXAZpPeQe9la9JR9QLCRnqMLGE/Mka1CUGgEld1hG9C PF2cgpHO6QHPfns1kX28JJszQjS8aRSGLSuasEeoT3IcnWKyJ8QbJflSiy1FbUF+MqvN kKETN4DIQuukjLQvclXJekdcUEOstOUnkzr5zv5fPy8HgWAdfhf2ewFbor3K0dATeD7V dY/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject :arc-authentication-results; bh=MrHJd2OeIdXuPII1NgtbCD7YkwYl5l3JFO7b1BK+rgs=; b=Ox0EMxzw70cP5UCbayhRVkQLDpbTyxc3iGJ1Y85IJE93azwBHxhf4Afwexyjr/45eP 3AHwcyK5oeh5Pa7b4aM7ernqoD7fjG1rLWrj987mxOjmr/ZZFdo/HjSBzehMkmzKK4p3 NSJ63YEEr4fCqCw/jQJXHkpfpS6ConkOOKT+V5SVR0EzSlKfHB6mZCBJBG7AqtlAgxV8 s1pVQHP3zxC0JNuBGifXsr7FfoeKPlTaEmkikbohgE66B99gTQkZnbq108NfdNSijKZp c+Ev2izYF1p1ZzbT8NffyzAbxG/UkroaRydI89bZ9FsEsBg+9FqZU75ZYo8v6wC02+tP socQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m187si111452pfb.291.2018.02.16.11.21.32; Fri, 16 Feb 2018 11:21:46 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161841AbeBPRNZ (ORCPT + 99 others); Fri, 16 Feb 2018 12:13:25 -0500 Received: from mail02.iobjects.de ([188.40.134.68]:52620 "EHLO mail02.iobjects.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161809AbeBPRNX (ORCPT ); Fri, 16 Feb 2018 12:13:23 -0500 Received: from tux.wizards.de (p5DE2BDE2.dip0.t-ipconnect.de [93.226.189.226]) by mail02.iobjects.de (Postfix) with ESMTPSA id EF2B84169043; Fri, 16 Feb 2018 18:13:21 +0100 (CET) Received: from [192.168.100.223] (ragnarok.applied-asynchrony.com [192.168.100.223]) by tux.wizards.de (Postfix) with ESMTP id 79690F0161C; Fri, 16 Feb 2018 18:13:21 +0100 (CET) Subject: Re: TCP and BBR: reproducibly low cwnd and bandwidth To: Neal Cardwell Cc: Oleksandr Natalenko , "David S. Miller" , Alexey Kuznetsov , Hideaki YOSHIFUJI , Netdev , LKML , Eric Dumazet , Soheil Hassas Yeganeh , Yuchung Cheng , Van Jacobson , Jerry Chu References: <1697118.nv5eASg0nx@natalenko.name> <2189487.nPhU5NAnbi@natalenko.name> <061740d0-9876-c905-7466-ef225ec3cdc5@applied-asynchrony.com> From: =?UTF-8?Q?Holger_Hoffst=c3=a4tte?= Organization: Applied Asynchrony, Inc. Message-ID: <02c75fe8-1792-d7ab-c6be-01799f3d50b0@applied-asynchrony.com> Date: Fri, 16 Feb 2018 18:13:21 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/16/18 17:56, Neal Cardwell wrote: > On Fri, Feb 16, 2018 at 11:26 AM, Holger Hoffstätte > wrote: >> >> BBR in general will run with lower cwnd than e.g. Cubic or others. >> That's a feature and necessary for WAN transfers. > > Please note that there's no general rule about whether BBR will run > with a lower or higher cwnd than CUBIC, Reno, or other loss-based > congestion control algorithms. Whether BBR's cwnd will be lower or > higher depends on the BDP of the path, the amount of buffering in the > bottleneck, and the number of flows. BBR tries to match the amount of > in-flight data to the BDP based on the available bandwidth and the > two-way propagation delay. This will usually produce an amount of data > in flight that is smaller than CUBIC/Reno (yielding lower latency) if > the path has deep buffers (bufferbloat), but can be larger than > CUBIC/Reno (yielding higher throughput) if the buffers are shallow and > the traffic is suffering burst losses. In all my tests I've never seen it larger, but OK. Thanks for the explanation. :) On second reading the "necessary for WAN transfers" was phrased a bit unfortunately, but it likely doesn't matter for Oleksandr's case anyway.. (snip) >> Something seems really wrong with your setup. I get completely >> expected throughput on wired 1Gb between two hosts: >> >> Connecting to host tux, port 5201 >> [ 5] local 192.168.100.223 port 48718 connected to 192.168.100.222 port 5201 >> [ ID] Interval Transfer Bitrate Retr Cwnd >> [ 5] 0.00-1.00 sec 113 MBytes 948 Mbits/sec 0 204 KBytes >> [ 5] 1.00-2.00 sec 112 MBytes 941 Mbits/sec 0 204 KBytes >> [ 5] 2.00-3.00 sec 112 MBytes 941 Mbits/sec 0 204 KBytes >> [...] >> >> Running it locally gives the more or less expected results as well: >> >> Connecting to host ragnarok, port 5201 >> [ 5] local 192.168.100.223 port 54090 connected to 192.168.100.223 port 5201 >> [ ID] Interval Transfer Bitrate Retr Cwnd >> [ 5] 0.00-1.00 sec 8.09 GBytes 69.5 Gbits/sec 0 512 KBytes >> [ 5] 1.00-2.00 sec 8.14 GBytes 69.9 Gbits/sec 0 512 KBytes >> [ 5] 2.00-3.00 sec 8.43 GBytes 72.4 Gbits/sec 0 512 KBytes >> [...] >> >> Both hosts running 4.14.x with bbr and fq_codel (default qdisc everywhere). > > Can you please clarify if this is over bare metal or between VM > guests? It sounds like Oleksandr's initial report was between KVM VMs, > so the virtualization may be an ingredient here. These are real hosts, not VMs, wired by 1Gbit Ethernet (home office). Like Eric said it's probably weird HZ, slow host, iffy high-res timer (bad for both fq and fq_codel), overhead of retpoline in a VM or whatnot. cheers Holger