Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp495421imm; Fri, 15 Jun 2018 01:07:02 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLor74i9a38XlKKBXohv6mdFnHYwVaQO9FeJuou4Ifc9sBySEV6ZAgcMRNR51yiL2v3Ix3p X-Received: by 2002:a62:a8e:: with SMTP id 14-v6mr751821pfk.57.1529050022830; Fri, 15 Jun 2018 01:07:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529050022; cv=none; d=google.com; s=arc-20160816; b=pZ1zalodL5A/apkkKgWiTc7iGgNfuaJowxJl5oY72Kod6tARR2yGg6+zq2fzlj1mXB 4CXsFp3TMy0K4kVxKYiILVQtpHhMAZJX4ZKkldrr9o+W4LJLTYTljl2l/RKOzYfVC5+g 8I+lLG7HQbJcrM0PU0RQGO2juWgfy/blSldXfNzAsYiopeKROI8hUmrSShUPBYNCjk5m MPB8tGCu2WEPjynwCxoisNSpFwPHFY7InCigD2SlMA0g00eSt8BZhDawlfS2+YIROI/L TuOUoK00FOv9utgnqh8b7QzaA/o3IskgAiZQ2odNFN3usEmLlerdjKJlFE/3wGFF+1r7 34+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date :arc-authentication-results; bh=IpSbu6iydUllsZoLrsSuUoZWNsDDkCGFqqr1RonS8oo=; b=LNRS5knqCMdFIJao2m0P8EklVw5JYcY9pQoqM4w6JRJxKBqB774OGtGUTjtG0MJB24 gBxRP6VJdOWfRHnKahVhs1ZKqk/L1fuM59eTuQ/7Q4f1RrafyeXMjTpH2MfLMrhCGz+N vxIu+UsrD6bZULtDfASt7uhsOZAe+W7hAsz1uDQcjsJmiVG7LPwEL5m6VCsIhxbGKpZu dhSFpdBYmu48aMsnTbhQMtSSJbQPnC1oHcnjloKKi1krBuDrRrNtQeDBnK17NuEtaNcy pYG5u0eq64rs/xU1bQcRT3PfwA1viD2TCN2c+QmyPxY/5DkLzp298ISP5nwclG1b9EKl HreQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t82-v6si7492513pfi.221.2018.06.15.01.06.47; Fri, 15 Jun 2018 01:07:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755987AbeFOIFM (ORCPT + 99 others); Fri, 15 Jun 2018 04:05:12 -0400 Received: from smtp-rs2-vallila1.fe.helsinki.fi ([128.214.173.73]:48948 "EHLO smtp-rs2-vallila1.fe.helsinki.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755860AbeFOIFL (ORCPT ); Fri, 15 Jun 2018 04:05:11 -0400 Received: from whs-18.cs.helsinki.fi (whs-18.cs.helsinki.fi [128.214.166.46]) by smtp-rs2.it.helsinki.fi (8.14.7/8.14.7) with ESMTP id w5F853Tb029650; Fri, 15 Jun 2018 11:05:03 +0300 Received: by whs-18.cs.helsinki.fi (Postfix, from userid 1070048) id 50E133601A6; Fri, 15 Jun 2018 11:05:03 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by whs-18.cs.helsinki.fi (Postfix) with ESMTP id 4DAAA360012; Fri, 15 Jun 2018 11:05:03 +0300 (EEST) Date: Fri, 15 Jun 2018 11:05:03 +0300 (EEST) From: =?ISO-8859-15?Q?Ilpo_J=E4rvinen?= X-X-Sender: ijjarvin@whs-18.cs.helsinki.fi To: Michal Kubecek cc: Yuchung Cheng , netdev , Eric Dumazet , LKML Subject: Re: [RFC PATCH RESEND] tcp: avoid F-RTO if SACK and timestamps are disabled In-Reply-To: <20180614131801.hd474jgrhmtqzhag@unicorn.suse.cz> Message-ID: References: <20180613164802.99B89A09E2@unicorn.suse.cz> <20180613165543.0F92DA09E2@unicorn.suse.cz> <20180614093408.5e34ijwhome4t5yn@unicorn.suse.cz> <20180614131801.hd474jgrhmtqzhag@unicorn.suse.cz> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="8323329-577910731-1529049903=:29120" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-577910731-1529049903=:29120 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8BIT On Thu, 14 Jun 2018, Michal Kubecek wrote: > On Thu, Jun 14, 2018 at 02:51:18PM +0300, Ilpo J?rvinen wrote: > > On Thu, 14 Jun 2018, Michal Kubecek wrote: > > > On Thu, Jun 14, 2018 at 11:42:43AM +0300, Ilpo J?rvinen wrote: > > > > On Wed, 13 Jun 2018, Yuchung Cheng wrote: > > > > > On Wed, Jun 13, 2018 at 9:55 AM, Michal Kubecek wrote: > > > > > > AFAICS RFC 5682 is not explicit about this and offers multiple options. > > > Anyway, this is not essential and in most of the customer provided > > > captures, it wasn't the case. > > > > Lacking the new segments is essential for hiding the actual bug as the > > trace would look weird otherwise with a burst of new data segments (due > > to the other bug). > > The trace wouldn't look so nice but it can be reproduced even with more > data to send. I've copied an example below. I couldn't find a really > nice one quickly so that first few retransmits (17:22:13.865105 through > 17:23:05.841105) are without new data but starting at 17:23:58.189150, > you can see that sending new (previously unsent) data may not suffice to > break the loop. My point was that the new data segment bursts that occur if the sender isn't application limited indicate that there's something going wrong with FRTO. And that wrong is also what is causing that RTO loop because the sender doesn't see the previous FRTO recovery on second RTO. With my FRTO undo fix, (new_recovery || icsk->icsk_retransmits) will be false and that will prevent the RTO loop. > > > Normally, we would have timestamps (and even SACK). Without them, you > > > cannot reliably recognize a dupack with changed window size from > > > a spontaneous window update. > > > > No! The window should not update window on ACKs the receiver intends to > > designate as "duplicate ACKs". That is not without some potential cost > > though as it requires delaying window updates up to the next cumulative > > ACK. In the non-SACK series one of the changes is fixing this for > > non-SACK Linux TCP flows. > > That sounds like a reasonable change (at least at the first glance, > I didn't think about it too deeply) but even if we fix Linux stack to > behave like this, we cannot force everyone else to do the same. Unfortunately I don't know what the other stacks besides Linux do. But for Linux, the cause for the changing receiver window is the receiver window auto-tuning and I'm not sure if other stacks have a similar feature (or if that affects (almost) all ACKs like in Linux). -- i. --8323329-577910731-1529049903=:29120--