Date: Wed, 8 Sep 2004 15:14:46 +0100 From: Soo-Hyun Choi <shchoi@gmail.com> To: freebsd-questions@freebsd.org Subject: TCP RTO calculation Message-ID: <34b425c5040908071424de6b7@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, 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 list? 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? Cheers, Soo-Hyun
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?34b425c5040908071424de6b7>