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, intflag) * 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 Panquoted
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