From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH net-next 3/3] tcp: implement head drops in backlog queue Date: Wed, 21 Nov 2018 14:47:44 -0800 Message-ID: References: <20181121175240.6075-1-edumazet@google.com> <20181121175240.6075-4-edumazet@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: "David S . Miller" , netdev , Jean-Louis Dupond , Neal Cardwell To: Yuchung Cheng , Eric Dumazet Return-path: Received: from mail-pl1-f194.google.com ([209.85.214.194]:44446 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387447AbeKVJYL (ORCPT ); Thu, 22 Nov 2018 04:24:11 -0500 Received: by mail-pl1-f194.google.com with SMTP id s5-v6so7467317plq.11 for ; Wed, 21 Nov 2018 14:47:46 -0800 (PST) In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 11/21/2018 02:40 PM, Yuchung Cheng wrote: > On Wed, Nov 21, 2018 at 9:52 AM, Eric Dumazet wrote: >> Under high stress, and if GRO or coalescing does not help, >> we better make room in backlog queue to be able to keep latest >> packet coming. >> >> This generally helps fast recovery, given that we often receive >> packets in order. > > I like the benefit of fast recovery but I am a bit leery about head > drop causing HoLB on large read, while tail drops can be repaired by > RACK and TLP already. Hmm - This is very different pattern here. We have a train of packets coming, the last packet is not a TLP probe... Consider this train coming from an old stack without burst control nor pacing. This patch guarantees last packet will be processed, and either : 1) We are a receiver, we will send a SACK. Sender will typically start recovery 2) We are a sender, we will process the most recent ACK sent by the receiver.