tlambert2 at mindspring.com
Fri Sep 19 03:23:16 PDT 2003
Deepak Jain wrote:
> If the tcpcb struct were expanded/changed and the various increments were
> added in the appropriate packet pushing code, this would work right? Is
> there something non-obvious that one would need to worry about to undertake
> such a project?
Your overhead would be slightly higher when doing statistics,
because you would need to store more information for each of
the statistics you wanted to gather.
The main reasonable objections to doing this by default would
be (1) added overhead and (2) increased per-connection costs.
The first of these is an issue for everybody.
The second of these would be an issue for connections which
remain idle for significant fractions of time. I'd call 20%
or more of the time idle "significant" for this purpose, so
you could include FTP control channels, HTTP persistent
connections, IMAP4 connections, database entry screens, and
pretty much anything else that was client/server, had a slow
human on one end of the client, and a persistent connection
to the server on the other.
See my other posting on how to do this at a slightly higher
cost, but only when it's enabled, via a pointer indirection,
or at equal cost without one, as a compile-time option. I
think that approach would be better for your purposes,
particularly if you wanted to offload the code maintenance,
rather than reintegrating a lot of patches for each release
you wanted to run on.
More information about the freebsd-hackers