From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:34216 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751367AbeBUThu (ORCPT ); Wed, 21 Feb 2018 14:37:50 -0500 Date: Wed, 21 Feb 2018 14:37:48 -0500 (EST) Message-Id: <20180221.143748.516809068075257257.davem@davemloft.net> To: edumazet@google.com Cc: netdev@vger.kernel.org, ncardwell@google.com, ycheng@google.com, soheil@google.com, oleksandr@natalenko.name, eric.dumazet@gmail.com Subject: Re: [PATCH net-next 0/6] tcp: remove non GSO code From: David Miller In-Reply-To: <20180219195652.242663-1-edumazet@google.com> References: <20180219195652.242663-1-edumazet@google.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: Mon, 19 Feb 2018 11:56:46 -0800 > Switching TCP to GSO mode, relying on core networking layers > to perform eventual adaptation for dumb devices was overdue. > > 1) Most TCP developments are done with TSO in mind. > 2) Less high-resolution timers needs to be armed for TCP-pacing > 3) GSO can benefit of xmit_more hint > 4) Receiver GRO is more effective (as if TSO was used for real on sender) > -> less ACK packets and overhead. > 5) Write queues have less overhead (one skb holds about 64KB of payload) > 6) SACK coalescing just works. (no payload in skb->head) > 7) rtx rb-tree contains less packets, SACK is cheaper. > 8) Removal of legacy code. Less maintenance hassles. > > Note that I have left the sendpage/zerocopy paths, but they probably can > benefit from the same strategy. > > Thanks to Oleksandr Natalenko for reporting a performance issue for BBR/fq_codel, > which was the main reason I worked on this patch series. Series applied, thanks Eric. SCTP might want to do something similar, and if so we can get rid of sk_can_gso() too.