Re: [quicwg/base-drafts] No RTT samples, no persistent congestion (#3889)

Kazuho Oku <notifications@github.com> Wed, 22 July 2020 03:46 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DDBE13A0A9D for <quic-issues@ietfa.amsl.com>; Tue, 21 Jul 2020 20:46:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.697
X-Spam-Level:
X-Spam-Status: No, score=-1.697 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u0GpenoEXAXi for <quic-issues@ietfa.amsl.com>; Tue, 21 Jul 2020 20:46:33 -0700 (PDT)
Received: from out-19.smtp.github.com (out-19.smtp.github.com [192.30.252.202]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 83BC43A0A9A for <quic-issues@ietf.org>; Tue, 21 Jul 2020 20:46:33 -0700 (PDT)
Received: from github-lowworker-f1f7af9.ash1-iad.github.net (github-lowworker-f1f7af9.ash1-iad.github.net [10.56.111.13]) by smtp.github.com (Postfix) with ESMTP id A8759520A9D for <quic-issues@ietf.org>; Tue, 21 Jul 2020 20:46:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1595389592; bh=Rt6yfIKKHVF9ngDGYnDE2/LFSBAZK/+QHTFMmvZ6gT8=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=vLIrqcnI2oBtqKPWeQa15gmQ9jOXFFM/w4C1uhCeESunobUY4R75uhE25L5kcVXqW NE8bS+GixjDFJv99Qip+albnFQV7CzDXN6gZzPYAAa2AgsaEHJwhH+vtqtB7lUNY8u 0PWBuk8rn4/8ung5srB6bX99pvD3AOWpIBcuHaJw=
Date: Tue, 21 Jul 2020 20:46:32 -0700
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK4QZLDEF6BS57CE36N5EOLZREVBNHHCOAK6ZQ@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3889/review/452974390@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3889@github.com>
References: <quicwg/base-drafts/pull/3889@github.com>
Subject: Re: [quicwg/base-drafts] No RTT samples, no persistent congestion (#3889)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f17b698991ab_51b13fcfeaccd964483bf"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/yds3GjE8ff9qAIt8ZstJGE6z42E>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Jul 2020 03:46:35 -0000

@kazuho commented on this pull request.



> @@ -1580,14 +1586,18 @@ Invoked when an ACK frame with an ECN section is received from the peer.
 Invoked when DetectAndRemoveLostPackets deems packets lost.
 
 ~~~
-   InPersistentCongestion(lost_packets):
+   InPersistentCongestion(largest_lost):
+     // Persistent congestion cannot be declared on the
+     // first RTT sample.
+     if (is first RTT sample):
+       return false

I agree with @marten-seemann here.

Consider the case where an endpoint receives the first ACK 10 seconds after sending the first packet (with an RTT of 10ms), then receives the next ACK in 20ms (with RTT of 10ms).

When the second ACK is being processed, the execution would pass through this `if`, and invoke `AreAllPacketsLost`. Because all the packets that were sent during the first few seconds are not acked, persistent congestion would be declared.

I think we can simply remove these lines, and rely on the fact that the comment in the pseudo-code talking about "edges." We can clarify what "edge" means, if necessary.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3889#discussion_r458516578