Date: Wed, 17 Jul 2002 22:06:30 -0700 From: Luigi Rizzo <rizzo@icir.org> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: Mike Silbersack <silby@silby.com>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netinet tcp_timer.h Message-ID: <20020717220630.A17698@iguana.icir.org> In-Reply-To: <200207180445.g6I4jkD4006497@apollo.backplane.com>; from dillon@apollo.backplane.com on Wed, Jul 17, 2002 at 09:45:46PM -0700 References: <20020717220320.F83856-100000@patrocles.silby.com> <200207180445.g6I4jkD4006497@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 17, 2002 at 09:45:46PM -0700, Matthew Dillon wrote: > Ok, how about this: > > #define TCPTV_MIN ( hz / 50 <= 3 ? 3 : hz / 50 ) /* minimum allowable value */ > > 20 milliseconds or 3 ticks, whichever is greater. The idea > being that 20 ms compensates for operating system variability > and/or polling issues. as someone mentioned, one big source of variability in RTT measurements are delayed acks, which depend on the other side. I think that it is nice to be able to control the min. timeout, but you should put it into a sysctl variable, and use a very conservative value (200...1000)ms as default. You can handle it in a way similar to sched_quantum, so you read/write it in terms of fractions of second but the internal value is stored in ticks, and you can apply some consistency checks on the values passed by userland. What is the point of recomputing hz/50 all the times? just a side comment -- "polling issues" are resolved within 1 tick, but 1 tick on the sender side, so local HZ values do not count. cheers luigi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020717220630.A17698>