Re: [PATCH net-next v2] tcp: Ensure DCTCP reacts to losses

From: Lawrence Brakmo
Date: Thu Apr 04 2019 - 14:57:08 EST



On 4/4/19, 11:39 AM, +ACI-Tilmans, Olivier (Nokia - BE/Antwerp)+ACI- +ADw-olivier.tilmans+AEA-nokia-bell-labs.com+AD4- wrote:

+AD4- DCTCP is meant to be used in environments where the switches/routers do
+AD4- ECN marking, so it is not surprising that it performs badly when used in
+AD4- environments where it was not meant to be used. Has anyone measured the
+AD4- effect of this changed when DCTCP is used in environments where all the
+AD4- switches/routers do ECN marking? My concern is that we could end up
+AD4- hurting performance when DCTCP is used how it was meant to be used in
+AD4- order to protect incorrect uses of DCTCP.

The results reported are indeed from a non-optimal setting, and mostly to
show that it was ignoring losses. In practice, we only use DCTCP on
ECN-enabled AQMs, and rarely see the loss reaction (e.g., a burst of new flows
IW that congest the ToR switch, in which case I'd argue the behavior is
beneficial). I cannot estimate the impact on FB's workloads though.

In some of our environments we do see packet losses at high workloads with DCTCP.
My concern is that I have no idea whether this change will be beneficial or
harmful in those environments.

I had originally put a module parameter to make this loss reaction behavior
optional, mostly to enable people to check first whether it was safe to use
with their configuration. In hindsight, I should have waited a bit more
before submitting the v2 with its removal as requested.

The module parameter, even if enabled by default, would have been
preferable since it would support environments where this feature
turned out to be sub-optimal.

Olivier