On Wed, Sep 23, 2015 at 12:49 PM, Bendik Rønning Opstad <bro.de...@gmail.com> wrote: > Application limited streams such as thin streams, that transmit small > amounts of payload in relatively few packets per RTT, can be prevented > from growing the CWND when in congestion avoidance. This leads to > increased sojourn times for data segments in streams that often transmit > time-dependent data. > > Currently, a connection is considered CWND limited only after having > successfully transmitted at least one packet with new data, while at the > same time failing to transmit some unsent data from the output queue > because the CWND is full. Applications that produce small amounts of > data may be left in a state where it is never considered to be CWND > limited, because all unsent data is successfully transmitted each time > an incoming ACK opens up for more data to be transmitted in the send > window. > > Fix by always testing whether the CWND is fully used after successful > packet transmissions, such that a connection is considered CWND limited > whenever the CWND has been filled. This is the correct behavior as > specified in RFC2861 (section 3.1). > > Cc: Andreas Petlund <apetl...@simula.no> > Cc: Carsten Griwodz <gr...@simula.no> > Cc: Jonas Markussen <jona...@ifi.uio.no> > Cc: Kenneth Klette Jonassen <kenne...@ifi.uio.no> > Cc: Mads Johannessen <mads...@ifi.uio.no> > Signed-off-by: Bendik Rønning Opstad <bro.devel+ker...@gmail.com> > ---
Acked-by: Neal Cardwell <ncardw...@google.com> Tested-by: Neal Cardwell <ncardw...@google.com> I ran all the Google packetdrill test cases with this patched in, and all still pass. I also re-ran the test I posted in the v1 thread (based on Eric's test), and it still passes. neal -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html