TCP RTO calculation
shchoi at gmail.com
Wed Sep 8 07:14:51 PDT 2004
I'm not sure if this list is appropriate to ask the FreeBSD kernel
source or not. If not, could somebody direct me in an appropriate
My curiosity is if we see the tcp.cc code inside, there are two
different version of srtt (smoothed rtt) and rttvar (smoothed mean
deviation estimator). The one is simply 'srtt' and 'rttvar' and the
other is 't_srtt' and 't_rttvar'. The unit of t_srtt is 'ticks * 8'
and the unit of t_rttvar is 'ticks * 4'.
These variables are used to calculate the TCP RTO. But why do they
have the two different version of variables? The interesting thing is
the 't_' variables are a fixed-point integer, and the original
variables are just floating-point values. I assume the reason why they
have is to avoid the floating-point arithmetic in the kernel. Is this
really only reason for being two different version of those?
More information about the freebsd-questions