]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Prevent TCP Cubic to abruptly increase cwnd after app-limited
authorrscheff <rscheff@FreeBSD.org>
Wed, 10 Jun 2020 07:32:02 +0000 (07:32 +0000)
committerrscheff <rscheff@FreeBSD.org>
Wed, 10 Jun 2020 07:32:02 +0000 (07:32 +0000)
commit649fb27a9649d38a9a52d04997e5c72225760623
tree9822f5997f0b5e351fbac95e6376d4a1c56a981b
parent72ef924f44671451553c4510159e2bc92ef69a80
Prevent TCP Cubic to abruptly increase cwnd after app-limited

Cubic calculates the new cwnd based on absolute time
elapsed since the start of an epoch. A cubic epoch is
started on congestion events, or once the congestion
avoidance phase is started, after slow-start has
completed.

When a sender is application limited for an extended
amount of time and subsequently a larger volume of data
becomes ready for sending, Cubic recalculates cwnd
with a lingering cubic epoch. This recalculation
of the cwnd can induce a massive increase in cwnd,
causing a burst of data to be sent at line rate by
the sender.

This adds a flag to reset the cubic epoch once a
session transitions from app-limited to cwnd-limited
to prevent the above effect.

Reviewed by: chengc_netapp.com, tuexen (mentor)
Approved by: tuexen (mentor), rgrimes (mentor)
MFC after: 3 weeks
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D25065
sys/netinet/cc/cc_cubic.c