/*Receiver "autotuning" code.
*
* The algorithm for RTT estimation w/o timestamps is based on
* Dynamic Right-Sizing (DRS) by Wu Feng and Mike Fisk of LANL.
*
*
* More detail on this code can be found at
* ,
* though this reference is out of date. A new paper
* is pending.
不管是没有使用时间戳选项的RTT采样,还是使用时间戳选项的RTT采样,都是获得一个RTT样本。
之后还需要对获得的RTT样本进行处理,以得到最终的RTT。
对于没有使用时间戳选项的RTT测量方法,不进行微调。因为用此种方法获得的RTT采样值已经偏高而且收敛
很慢。直接选择最小RTT样本作为最终的RTT测量值。
对于使用时间戳选项的RTT测量方法,进行微调,新样本占最终RTT的1/8,即rtt = 7/8 old + 1/8 new。*/
static void tcp_rcv_rtt_update(struct tcp_sock *tp, u32 sample, intwin_dep)
{
u32 new_sample= tp->rcv_rtt_est.rtt_us;long m =sample;if (m == 0)
m= 1;/*时延最小为1ms*、*/
if (new_sample != 0) { /*不是第一次获得样本