Subject: [quicwg/base-drafts] Don't apply PTO backoff twice in GetPtoTimeAndSpace() (#3974)

From: Alessandro Ghedini <[email-masked]>
Date: Thu, 30 Jul 2020 05:32:08 -0700

>From the recovery draft pseudo-code:
```
GetPtoTimeAndSpace():
  duration = (smoothed_rtt + max(4 * rttvar, kGranularity))
      * (2 ^ pto_count)
```

then later:
```
      duration += max_ack_delay * (2 ^ pto_count)
```

so `pto_count` seems to be applied twice to `duration`, which I think is
a mistake.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/3974

-- Commit Summary --

  * Don&#39;t apply PTO backoff twice in GetPtoTimeAndSpace()

-- File Changes --

    M draft-ietf-quic-recovery.md (4)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3974.patch
https://github.com/quicwg/base-drafts/pull/3974.diff

-- 
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/3974

---

From: Martin Thomson <[email-masked]>
Date: Thu, 30 Jul 2020 14:02:58 +0000 (UTC)

@martinthomson commented on this pull request.

I thought that this was intentional, that is, the value is supposed to be:

```
(rtt + 4*rttval + max_ack_delay) << pto_count
```

-- 
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/3974#pullrequestreview-458431092

---

From: ianswett <[email-masked]>
Date: Thu, 30 Jul 2020 07:54:56 -0700

Yes, this is intentional.  In order for the PTO duration to double on expiry, max_ack_delay needs to be included.

We discussed not exponentiating it in the past, but it's a design change and no one's presented any evidence that change would result in substantially better performance.  Also, it could be quite a bit more aggressive in some cases, so the more conservative status quo seems preferable.

-- 
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/3974#issuecomment-666424211

---

From: Alessandro Ghedini <[email-masked]>
Date: Thu, 30 Jul 2020 11:17:31 -0700

I see, thanks for the explanation. We might want to add a comment to clarify this, but will close this PR for now.

-- 
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/3974#issuecomment-666576847

---

From: Alessandro Ghedini <[email-masked]>
Date: Thu, 30 Jul 2020 11:17:34 -0700

Closed #3974.

-- 
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/3974#event-3605178824