Re: [quicwg/base-drafts] Discuss Application-Limited Sending (#1637)

Martin Thomson <notifications@github.com> Wed, 08 August 2018 02:22 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 6FAA3130DE1 for <quic-issues@ietfa.amsl.com>; Tue, 7 Aug 2018 19:22:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.01
X-Spam-Level:
X-Spam-Status: No, score=-8.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] 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 FEyZv6pCq7fw for <quic-issues@ietfa.amsl.com>; Tue, 7 Aug 2018 19:22:02 -0700 (PDT)
Received: from out-7.smtp.github.com (out-7.smtp.github.com [192.30.252.198]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C649C130DDA for <quic-issues@ietf.org>; Tue, 7 Aug 2018 19:22:01 -0700 (PDT)
Date: Tue, 07 Aug 2018 19:22:01 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1533694921; bh=WOdKKYNA5L2VoWakHbNAnhC5lhvFMENPf5ahvlgeHhY=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=pEvE+FZ79snlA2S6XxdsMaAw4HhCbTu1u7FKdULtOcYlPMq17GFMADqh+oJVcMY2c ZsVt8+It5f7x3Nz6hWeEh8aGgv4pJ09qjRe3DaffNSKmmwLX2S1+dqrE98sg30+Ttb t+cm2kq5ueYjKMO28ytaoeWe42xGI9VLTLFbdKZE=
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab83120634343fdbb74f8d2a30cad90fd3f44f880592cf00000001178215c992a169ce14c4e0aa@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1637/review/144247689@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1637@github.com>
References: <quicwg/base-drafts/pull/1637@github.com>
Subject: Re: [quicwg/base-drafts] Discuss Application-Limited Sending (#1637)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b6a53c922a82_7d083f9e41ed45bc2149a0"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
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/651SnorE0p17hLEbRT_Jsbk_WfA>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.27
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, 08 Aug 2018 02:22:04 -0000

martinthomson commented on this pull request.



> @@ -989,6 +988,11 @@ The recovery period limits congestion window reduction to once per round trip.
 During recovery, the congestion window remains unchanged irrespective of new
 losses or increases in the ECN-CE counter.
 
+## Application Limited Sending
+
+If the sender is sufficiently application limited that the congestion window is

We don't really get a definition of "application limited" from this.  The point is that you won't increase the congestion window if the entire congestion window isn't being actively used.

Is there precedent for this sort of capping of the window?

I assume that this includes flow control as the source of the limitation.  Which might be worth mentioning.

> @@ -1115,13 +1119,19 @@ acked_packet from sent_packets.
 ~~~
    InRecovery(packet_number):
      return packet_number <= end_of_recovery
+   
+   IsAppLimited():
+     bytes_in_flight >= congestion_window - kMaximumDatagramSize

It reads backwards to me as well.  And is it the right test?  @nibanks' comments suggest that there might be other ways to detect the condition of not being limited.  For instance, as long as data is enqueued for sending, it might be reasonable to say that the application is waiting on the congestion controller (or pacer) to allow sending.

-- 
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/1637#pullrequestreview-144247689