Re: Question about TLP patch

From: Ji <hidden>
Date: 2014-05-04 21:41:07

Thanks, Weiping.

As you found, I finally figured it out that it could be for "Recovery
of any N-degree tail loss". However, I was actually testing with ER
only (i,e, with TLP off, sysctl tcp_early_retrans =1) and loss pattern
was "ALSL" ("S" means sacked, not 3-degree tail loss "ALLL"), and
noticed ER behaves different from RFC5827.

I understand that it may bring unnecessarily complexity in code if
strictly following RFC5827 (early retransmit must be used only when
"oseg - 1" segments have been SACKed) when TLP disabled. However,
IMHO, a comment might be good for readers.

Thanks,
Ji Li


On Sat, May 3, 2014 at 8:05 PM, Weiping Pan [off-list ref] wrote:
On 04/24/2014 07:09 AM, Ji wrote:
quoted
When reading the patch of Tail Loss Probe:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6ba8a3b19e764b6a65e4030ab0999be50c291e6c
, I noticed this change:
@@ -2321,7 +2322,7 @@ static bool tcp_time_to_recover(struct sock *sk, int
flag)
* interval if appropriate.
*/
if (tp->do_early_retrans && !tp->retrans_out && tp->sacked_out &&
- (tp->packets_out == (tp->sacked_out + 1) && tp->packets_out < 4) &&
+ (tp->packets_out >= (tp->sacked_out + 1) && tp->packets_out < 4) &&
!tcp_may_send_now(sk))
return !tcp_pause_early_retransmit(sk, flag);

I think the original code is because of RFC5827 Early Retransmit for TCP,
3.2
"... When conditions (3.a) and (3.b) hold and a TCP connection does

    support SACK or SCTP is in use, Early Retransmit MUST be used only

    when "oseg - 1" segments have been SACKed...."

With that change, it seems that the condition is relaxed. I wonder
why it is so. Could you cast some lights on it?
Please refer to
http://tools.ietf.org/html/draft-dukkipati-tcpm-tcp-loss-probe-01
4.2. Recovery of any N-degree tail loss

thanks
Weiping Pan
quoted

Thanks,
Ji Li
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help