From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:50748 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750725AbeBVTQt (ORCPT ); Thu, 22 Feb 2018 14:16:49 -0500 Date: Thu, 22 Feb 2018 14:16:47 -0500 (EST) Message-Id: <20180222.141647.1474414618530735347.davem@davemloft.net> To: eric.dumazet@gmail.com Cc: oleksandr@natalenko.name, edumazet@google.com, netdev@vger.kernel.org, soheil@google.com, ncardwell@google.com Subject: Re: [PATCH net] tcp_bbr: better deal with suboptimal GSO From: David Miller In-Reply-To: <1519224183.55655.40.camel@gmail.com> References: <2638137.lzCXOlOYsz@natalenko.name> <1519168897.55655.31.camel@gmail.com> <1519224183.55655.40.camel@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org List-ID: From: Eric Dumazet Date: Wed, 21 Feb 2018 06:43:03 -0800 > From: Eric Dumazet > > BBR uses tcp_tso_autosize() in an attempt to probe what would be the > burst sizes and to adjust cwnd in bbr_target_cwnd() with following > gold formula : > > /* Allow enough full-sized skbs in flight to utilize end systems. */ > cwnd += 3 * bbr->tso_segs_goal; > > But GSO can be lacking or be constrained to very small > units (ip link set dev ... gso_max_segs 2) > > What we really want is to have enough packets in flight so that both > GSO and GRO are efficient. > > So in the case GSO is off or downgraded, we still want to have the same > number of packets in flight as if GSO/TSO was fully operational, so > that GRO can hopefully be working efficiently. > > To fix this issue, we make tcp_tso_autosize() unaware of > sk->sk_gso_max_segs > > Only tcp_tso_segs() has to enforce the gso_max_segs limit. . .. > Fixes: 0f8782ea1497 ("tcp_bbr: add BBR congestion control") > Signed-off-by: Eric Dumazet > Reported-by: Oleksandr Natalenko Applied and queued up for -stable, thanks Eric.