[Cake] when did rack enter the kernel?

Mario Ferreira liouxbsd at gmail.com
Sat Jul 30 09:53:08 EDT 2016

It's mentioned on https://kernelnewbies.org/Linux_4.4

No idea about it's status though.

It was added on 2015-10-21 as per


Yuchung Cheng says:
==================== RACK loss detection RACK (Recent ACK) loss recovery
uses the notion of time instead of packet sequence (FACK) or counts
(dupthresh). It's inspired by the FACK heuristic in
tcp_mark_lost_retrans(): when a limited transmit (new data packet) is
sacked in recovery, then any retransmission sent before that newly sacked
packet was sent must have been lost, since at least one round trip time has
elapsed. But that existing heuristic from tcp_mark_lost_retrans() has
several limitations: 1) it can't detect tail drops since it depends on
limited transmit 2) it's disabled upon reordering (assumes no reordering)
3) it's only enabled in fast recovery but not timeout recovery RACK
addresses these limitations with a core idea: an unacknowledged packet P1
is deemed lost if a packet P2 that was sent later is is s/acked, since at
least one round trip has passed. Since RACK cares about the time sequence
instead of the data sequence of packets, it can detect tail drops when a
later retransmission is s/acked, while FACK or dupthresh can't. For
reordering RACK uses a dynamically adjusted reordering window ("reo_wnd")
to reduce false positives on ever (small) degree of reordering, similar to
the delayed Early Retransmit. In the current patch set RACK is only a
supplemental loss detection and does not trigger fast recovery. However we
are developing RACK to replace or consolidate FACK/dupthresh, early
retransmit, and thin-dupack. These heuristics all implicitly bear the time
notion. For example, the delayed Early Retransmit is simply applying RACK
to trigger the fast recovery with small inflight. RACK requires measuring
the minimum RTT. Tracking a global min is less robust due to traffic
engineering pathing changes. Therefore it uses a windowed filter by
Kathleen Nichols. The min RTT can also be useful for various other purposes
like congestion control or stat monitoring. This patch has been used on
Google servers for well over 1 year. RACK has also been implemented in the
QUIC protocol. We are submitting an IETF draft as well.
==================== Signed-off-by: David S. Miller <davem at davemloft.net>

On Mon, Jul 18, 2016 at 6:05 AM Dave Taht <dave.taht at gmail.com> wrote:

> https://www.ietf.org/proceedings/96/slides/slides-96-tcpm-3.pdf
> --
> Dave Täht
> Let's go make home routers and wifi faster! With better software!
> http://blog.cerowrt.org
> _______________________________________________
> Cake mailing list
> Cake at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake

Mario S F Ferreira - Brazil - "I guess this is a signature."
feature, n: a documented bug | bug, n: an undocumented feature
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.bufferbloat.net/pipermail/cake/attachments/20160730/408e8514/attachment-0001.html>

More information about the Cake mailing list