Received: by 10.223.185.116 with SMTP id b49csp906113wrg; Fri, 16 Feb 2018 09:03:30 -0800 (PST) X-Google-Smtp-Source: AH8x225+ZhXDkjedyDTGkLCsVrzsRzEGNkw83sxtb00H0vShUAQahgJB/cxhHc8eVZ75aTjk48gF X-Received: by 2002:a17:902:8f86:: with SMTP id z6-v6mr6467738plo.352.1518800610030; Fri, 16 Feb 2018 09:03:30 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1518800609; cv=pass; d=google.com; s=arc-20160816; b=xFxMp0xe2SFhjhtusQsUR4G8GtdyoRcef5BapJaxQmW1avOys/AE3L5Czk6yawK89i BO8MYWPnR9S2qNs5Cq84d3o6qYsen6zRI22xWarLN6ggvPVA9MIsd20K8Wl3AzxXmjq7 HYXjfM2FUAGDmHCYsLMRvdikXsMn9PBwBU3qmiANpwdZgnjWAt6uOVXcYCDOY6NTqw9F Pe6OEJa5ekfCUakN6XmUMzt40KHI6W1ZD9Eptc2fLlnPyOG06MMk0Q/+ffqYglHJLKkl MjZivPLsgygAcmYdUMm5GNjzg/aofnyizBZy8mYsytaRpGsJvQOjjs5NKxvIr5r/5SeI jjNw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:arc-authentication-results :arc-message-signature:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dmarc-filter :arc-authentication-results; bh=UfhYGqNvxVp6r5MUMW3unOsBVjmhOFKCusZgs2veaPE=; b=HwoTCfwbttZ9Qzq6QkG46Cb0gynqZrx1mxt9y8xVLrfX257BBG0uz+rfCBese8uApq bVsj/B8KD6FJLbaOjoNFyqeGZ0uJ9GKN7jBboLyraqcoBKDpGierrye1DFhxdhs9QPU0 RGissEx6kGf8FKklTI+rG0iNqPyQ5Qc2pbZyAiqMEkz5HlxYUWnZ3x3N8EybWWg6Nrv7 m2fYZTSVSvgChoEntmhoNr0tnH3WUdOpV8YIKENyOCa//uSUI11ZAzp10qVQRpTpN3W2 Qzgg6UOCcP8GOKxKamjGuWeakqVM/DDWj/E7qFByYKGa2j2qLQBlI3UsYrMw81/vMA9P falA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@natalenko.name header.s=dkim-20170712 header.b=mZXv52Jw; arc=pass (i=1); 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=natalenko.name Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u132si39702pgc.802.2018.02.16.09.02.54; Fri, 16 Feb 2018 09:03:29 -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; dkim=pass header.i=@natalenko.name header.s=dkim-20170712 header.b=mZXv52Jw; arc=pass (i=1); 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=natalenko.name Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755890AbeBOUmd (ORCPT + 99 others); Thu, 15 Feb 2018 15:42:33 -0500 Received: from vulcan.natalenko.name ([104.207.131.136]:51482 "EHLO vulcan.natalenko.name" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755879AbeBOUma (ORCPT ); Thu, 15 Feb 2018 15:42:30 -0500 Received: from spock.localnet (unknown [IPv6:2001:470:5b39:28:d9be:599a:83a5:fae4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by vulcan.natalenko.name (Postfix) with ESMTPSA id 4C2832F880C; Thu, 15 Feb 2018 21:42:27 +0100 (CET) DMARC-Filter: OpenDMARC Filter v1.3.2 vulcan.natalenko.name 4C2832F880C Authentication-Results: vulcan.natalenko.name; dmarc=fail (p=none dis=none) header.from=natalenko.name From: Oleksandr Natalenko To: "David S. Miller" Cc: Alexey Kuznetsov , Hideaki YOSHIFUJI , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: TCP and BBR: reproducibly low cwnd and bandwidth Date: Thu, 15 Feb 2018 21:42:26 +0100 Message-ID: <1697118.nv5eASg0nx@natalenko.name> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=natalenko.name; s=arc-20170712; t=1518727347; h=from:subject:date:message-id:to:cc:mime-version:content-type:content-transfer-encoding; bh=UfhYGqNvxVp6r5MUMW3unOsBVjmhOFKCusZgs2veaPE=; b=HUr4t5ofq88DM6UgbQCyw1xCTio9Fk4B8AdPbQvcbdd3H6RbPpjD28pzz8sswCSXTOgUgs lsTrqRgCI0cgt1O5WyvBOvBoJigIDXoiWEGKH8iGYH1VlV+9f4WlV3v9Layh9AdbA7TgCl iNQf7FieOtVI75AnhcQ01uDI4/Gr4GU= ARC-Seal: i=1; s=arc-20170712; d=natalenko.name; t=1518727347; a=rsa-sha256; cv=none; b=OF+x+Esoru81t27NDw0z1DNee9UOFhP/1iOMJUCL9R8ygRhDN10qtBzX6nT52wVtnwAhDBRRoy8Gebb/DI3ks2zP8LeCdhNyZRDlPYQZwMhy0XCPKCFRnVGtY+Y/wCUBM4oozlIBZsNBjnAFEe1RaRFNe2CBRODDQnxOg2e1HG4= ARC-Authentication-Results: i=1; auth=pass smtp.auth=oleksandr@natalenko.name smtp.mailfrom=oleksandr@natalenko.name DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=natalenko.name; s=dkim-20170712; t=1518727347; h=from:subject:date:message-id:to:cc:mime-version:content-type:content-transfer-encoding; bh=UfhYGqNvxVp6r5MUMW3unOsBVjmhOFKCusZgs2veaPE=; b=mZXv52JwNUZ1/0NAxTgg11BUNdNBSUWRsubzerBgOfBTzoW3ruO6jAUCrNTHv0slGg0GJT b9zg7oy7gdtZUopDV+XHemxmNbWp6/RV5M9Fm0qrIn8OjLJooPQ8MDUW3zgKvN8rN8r4yX lXTOhTJoSnp6WFGqkhJEGXAeZ2rSLKU= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello. I've faced an issue with a limited TCP bandwidth between my laptop and a server in my 1 Gbps LAN while using BBR as a congestion control mechanism. To verify my observations, I've set up 2 KVM VMs with the following parameters: 1) Linux v4.15.3 2) virtio NICs 3) 128 MiB of RAM 4) 2 vCPUs 5) tested on both non-PREEMPT/100 Hz and PREEMPT/1000 Hz The VMs are interconnected via host bridge (-netdev bridge). I was running iperf3 in the default and reverse mode. Here are the results: 1) BBR on both VMs upload: 3.42 Gbits/sec, cwnd ~ 320 KBytes download: 3.39 Gbits/sec, cwnd ~ 320 KBytes 2) Reno on both VMs upload: 5.50 Gbits/sec, cwnd = 976 KBytes (constant) download: 5.22 Gbits/sec, cwnd = 1.20 MBytes (constant) 3) Reno on client, BBR on server upload: 5.29 Gbits/sec, cwnd = 952 KBytes (constant) download: 3.45 Gbits/sec, cwnd ~ 320 KBytes 4) BBR on client, Reno on server upload: 3.36 Gbits/sec, cwnd ~ 370 KBytes download: 5.21 Gbits/sec, cwnd = 887 KBytes (constant) So, as you may see, when BBR is in use, upload rate is bad and cwnd is low. If using real HW (1 Gbps LAN, laptop and server), BBR limits the throughput to ~100 Mbps (verifiable not only by iperf3, but also by scp while transferring some files between hosts). Also, I've tried to use YeAH instead of Reno, and it gives me the same results as Reno (IOW, YeAH works fine too). Questions: 1) is this expected? 2) or am I missing some extra BBR tuneable? 3) if it is not a regression (I don't have any previous data to compare with), how can I fix this? 4) if it is a bug in BBR, what else should I provide or check for a proper investigation? Thanks. Regards, Oleksandr