From patchwork Mon Jun 27 12:46:56 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 640997 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rdTGj43Bhz9sBg for ; Mon, 27 Jun 2016 22:47:09 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=ueDNOGKE; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751767AbcF0MrG (ORCPT ); Mon, 27 Jun 2016 08:47:06 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:34361 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751385AbcF0MrF (ORCPT ); Mon, 27 Jun 2016 08:47:05 -0400 Received: by mail-wm0-f65.google.com with SMTP id 187so24281446wmz.1 for ; Mon, 27 Jun 2016 05:47:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:subject:from:to:cc:date:in-reply-to:references :mime-version:content-transfer-encoding; bh=6ClEZgLCHZGICLrsPXAm4diXXelEbjUx7TsSqrAAQb8=; b=ueDNOGKE7SWJZPEleb1x1l9wO1xifC+ti2Sgay2Fpyqw2FqlJL0270qlD9iqI3Xqtg BDZ5SUaJ9xtgmuq6CjSFT1XSLM2aOMrn0k/xm5R/PoxSILihUgV7MRW1oo/rOm9e9sgV JtCfXFfkZlpyOEG/f3jvgxwcEdpnrAfxBjZ8vAoR4z/jQDbDL5Iyuaa8X+cTTjElJPqf sPB1CQsABpS+bu4THSHOyq8/fmJwvzODmtJSLEQT2g+uEuCEYNZ22P6ga1TVvcjTqXcR 2ZJpRYLx0MYcfMP2NWlRqVYiqSuYSzHsdHqILlPPdL1x01R00a7+PC6j2nNKe73Hco6b gEPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:mime-version:content-transfer-encoding; bh=6ClEZgLCHZGICLrsPXAm4diXXelEbjUx7TsSqrAAQb8=; b=mie5EJx9sA7XkY6K1s02dew8DfPun9vNaOVLZOKWOtnrI0L4WCG+pVT5tsFMZL3UKt vJcCwaRfZpNZojivGCBYZwEKt1wKrUMGqtXZ6yQzzRPmxQj/HYK4SABvLKFhk4NVDwK/ Nxy/C2YDiunYOH9RAHy8GVO0vvw5Ma6nbxK2EiuMzxlbzIjdvMCEZKeQaet8bbDl+zsQ paffYPmk4EEwbiZGWcthTK7CPw+87DeTGqwvZ6mHby8QXFa50ope8Y09ZTficYHwQw4A iQSmV/Gv4VTlU4hBuNNywLX04FC6Z724Zz81iSaYv7Qg9C3cUEQhWtZvICFAvS1zBKu2 Ot6g== X-Gm-Message-State: ALyK8tJqRfxSUvjFCl/AW0xq6KTskJ1Zypmb92pdUM+EkIH8839cSLyweoogo7C7lqSc0A== X-Received: by 10.28.152.202 with SMTP id a193mr10739299wme.98.1467031622855; Mon, 27 Jun 2016 05:47:02 -0700 (PDT) Received: from [130.37.168.239] ([130.37.168.239]) by smtp.googlemail.com with ESMTPSA id b84sm11632759wmb.6.2016.06.27.05.47.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jun 2016 05:47:01 -0700 (PDT) Message-ID: <1467031616.6850.150.camel@edumazet-glaptop3.roam.corp.google.com> Subject: Re: [REGRESSION, bisect]cxgb4 port failure with TSO traffic after commit 10d3be569243def8("tcp-tso: do not split TSO packets at retransmit time") From: Eric Dumazet To: Arjun V Cc: Eric Dumazet , "netdev@vger.kernel.org" , Hariprasad S , Casey Leedom , Kumar A S , Santosh Rastapur , Nirranjan Kirubaharan , "davem@davemloft.net" , "ycheng@google.com" Date: Mon, 27 Jun 2016 14:46:56 +0200 In-Reply-To: <1467024617.6850.148.camel@edumazet-glaptop3.roam.corp.google.com> References: <6DE8042992C3D3488ACEF3F2607097E3C4A81CA5@nice.asicdesigners.com> <6DE8042992C3D3488ACEF3F2607097E3C4A82805@nice.asicdesigners.com> <1466785507.6850.105.camel@edumazet-glaptop3.roam.corp.google.com> <20160627071750.GA13304@v4.asicdesigners.com> <1467014782.6850.144.camel@edumazet-glaptop3.roam.corp.google.com> <20160627085957.GB13319@v4.asicdesigners.com> <1467019279.6850.145.camel@edumazet-glaptop3.roam.corp.google.com> <20160627095445.GC13319@v4.asicdesigners.com> <1467024617.6850.148.camel@edumazet-glaptop3.roam.corp.google.com> X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Mon, 2016-06-27 at 12:50 +0200, Eric Dumazet wrote: > On Mon, 2016-06-27 at 15:24 +0530, Arjun V wrote: > > > Applied your patch. > > The above debug print is not getting invoked, when skb->len is greater than 65536. > > Interesting. > > It looks like we might have a bug in tcp_shift_skb_data() not respecting > sk->sk_gso_max_size at all ... Note that this also means TCP receiver misbehaves and force us to SACK reneging. Patch would be : diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 8bd9911fdd16..3587efe22864 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2784,6 +2784,10 @@ void tcp_xmit_retransmit_queue(struct sock *sk) segs = tp->snd_cwnd - tcp_packets_in_flight(tp); if (segs <= 0) return; + /* In case tcp_shift_skb_data() have aggregated large skbs, + * we need to make sure not sending too big TSO packets. + */ + segs = min_t(int, segs, tp->gso_segs); if (fwd_rexmitting) { begin_fwd: