From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: [PATCH net-next 0/3] tcp: take a bit more care of backlog stress Date: Wed, 21 Nov 2018 09:52:37 -0800 Message-ID: <20181121175240.6075-1-edumazet@google.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: netdev , Jean-Louis Dupond , Neal Cardwell , Yuchung Cheng , Eric Dumazet , Eric Dumazet To: "David S . Miller" Return-path: Received: from mail-pl1-f180.google.com ([209.85.214.180]:34250 "EHLO mail-pl1-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729179AbeKVE2F (ORCPT ); Wed, 21 Nov 2018 23:28:05 -0500 Received: by mail-pl1-f180.google.com with SMTP id f12-v6so6544624plo.1 for ; Wed, 21 Nov 2018 09:52:44 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: While working on the SACK compression issue Jean-Louis Dupond reported, we found that his linux box was suffering very hard from tail drops on the socket backlog queue, because the opposite TCP stack was ont implementing latest RFC recommendations. First patch is a cleanup Second patch is attempting coalescing when a new packet must be added to the backlog queue. Cooking bigger skbs helps to keep backlog list smaller and speeds its handling when user thread finally releases the socket lock. Third patch is implementing head drop as a last resort. Head drops are generally better for optimal TCP behavior. Eric Dumazet (3): tcp: remove hdrlen argument from tcp_queue_rcv() tcp: implement coalescing on backlog queue tcp: implement head drops in backlog queue include/uapi/linux/snmp.h | 1 + net/ipv4/proc.c | 1 + net/ipv4/tcp_input.c | 13 +++--- net/ipv4/tcp_ipv4.c | 89 ++++++++++++++++++++++++++++++++++++--- 4 files changed, 91 insertions(+), 13 deletions(-) -- 2.19.1.1215.g8438c0b245-goog