From patchwork Thu Jan 17 19:23:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 1026916 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="mteV7Iph"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43gYsJ42JCz9sBZ for ; Fri, 18 Jan 2019 06:23:48 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728322AbfAQTXr (ORCPT ); Thu, 17 Jan 2019 14:23:47 -0500 Received: from mail-pg1-f181.google.com ([209.85.215.181]:33567 "EHLO mail-pg1-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726811AbfAQTXr (ORCPT ); Thu, 17 Jan 2019 14:23:47 -0500 Received: by mail-pg1-f181.google.com with SMTP id z11so4874521pgu.0 for ; Thu, 17 Jan 2019 11:23:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mmeM7kTrDoG/SxUUMm23g2xoKeYlzEsSG0hXMXujDJE=; b=mteV7IphZAP5rRdDnP4dg5t1QJ6tweuP4il4+Dbz7Z2oilR4tBSQ2mTYqQxrivF59K xeaO7FMw1m0DeyTqCW5rteHOn3R87rsyJXg6If0el33EAH33vAf0yY/CoSYHgcjRMy5g s2hvQf9M7nBTkGWOVTs7AkDZyB9BeaAEAnaPvoU07G/+gEu9fjcq/8QV6JCwtIsp9p3S 7UQCowIs2xDgajIjjPVHssGeGVJd0vdBIKRGpH4wbR55ZV2O5XJxRreQWchci1HycJAP B34lW5u6TJazIgavyWIxJo28J/Sug/ayKjjVODkEmqvSc1UZmtzIcGcU67REM+6DTYrj qS0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mmeM7kTrDoG/SxUUMm23g2xoKeYlzEsSG0hXMXujDJE=; b=C8SiBy+urGK7Uj/GLLau0taVF+2vWr++0wEdHHthZoYemnf38IPnyg3K9c5wfHZ6BU yzBgEM0nXmJ0X+QBAhVP/lH+eAz6FyrOLqQE02g9p2ssUSQIXuWnU9j7H5S8AW5XbbU3 3Wxpn5h22+WumiAXVD/jd9gZHxhczEdHy4mHmwc//F6YDHyWFChKHESzKVsmA5GemIgK +sUXBr7XOKB2zkcMaIX3NC7gZ53iLhZUd+O6bBX09mh9lvYOMsMU2wnZPl64Q5S3y8K8 WU/okd5Sozng18yDE5n3mvmbekFqNa4LrdGb42x7DLlE+mr88nxCBe0HF+ab5A878274 rsgw== X-Gm-Message-State: AJcUukckPo41tkokfpMnKObqIao0B9IftPrYO/wsJr/xu0G7X6inR9l+ K3N9pa9dqTgERHxqFoWtN6giH0v24D4= X-Google-Smtp-Source: ALg8bN5ZGER4Q3xglKMSrWIDNykYs+cPPG/Zxh9gW+ptLQ90mmtXyBpA7hJc2y7PeDiwD+GEuIeCjg== X-Received: by 2002:a63:cf48:: with SMTP id b8mr14849966pgj.17.1547753025578; Thu, 17 Jan 2019 11:23:45 -0800 (PST) Received: from localhost ([2620:15c:2c4:201:f5a:7eca:440a:3ead]) by smtp.gmail.com with ESMTPSA id d21sm4023037pfo.162.2019.01.17.11.23.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 17 Jan 2019 11:23:44 -0800 (PST) From: Eric Dumazet To: "David S . Miller" Cc: netdev , Soheil Hassas Yeganeh , Neal Cardwell , Yuchung Cheng , Eric Dumazet , Eric Dumazet Subject: [PATCH net-next 00/11] tcp: remove code from tcp_create_openreq_child() Date: Thu, 17 Jan 2019 11:23:31 -0800 Message-Id: <20190117192342.71126-1-edumazet@google.com> X-Mailer: git-send-email 2.20.1.321.g9e740568ce-goog MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org tcp_create_openreq_child() is essentially cloning a listener, then must initialize some fields that can not be inherited. Listeners are either fresh sockets, or sockets that came through tcp_disconnect() after a session that dirtied many fields. By moving code to tcp_disconnect(), we can shorten time taken to create a clone, since tcp_disconnect() operation is very unlikely. Eric Dumazet (11): tcp: do not set snd_ssthresh in tcp_create_openreq_child() tcp: move icsk_rto init to tcp_disconnect() tcp: do not clear packets_out in tcp_create_openreq_child() tcp: do not clear srtt_us in tcp_create_openreq_child tcp: move mdev_us init to tcp_disconnect() tcp: move snd_cwnd & snd_cwnd_cnt init to tcp_disconnect() tcp: do not clear urg_data in tcp_create_openreq_child tcp: move retrans_out,sacked_out,tlp_high_seq,last_oow_ack_time init to tcp_disconnect() tcp: move app_limited init to tcp_disconnect() tcp: move tp->rack init to tcp_disconnect() tcp: move rx_opt & syn_data_acked init to tcp_disconnect() net/ipv4/tcp.c | 21 ++++++++++++++++++++- net/ipv4/tcp_minisocks.c | 34 ---------------------------------- 2 files changed, 20 insertions(+), 35 deletions(-) Acked-by: Yuchung Cheng Acked-by: Soheil Hassas Yeganeh