From: Yogesh Swami <spy9599@yahoo.com>
To: linux-kernel@vger.kernel.org
Subject: Few comments on TCP implementation
Date: Fri, 24 May 2002 14:30:11 -0700 (PDT) [thread overview]
Message-ID: <20020524213011.50807.qmail@web14808.mail.yahoo.com> (raw)
Hi,
I have some questions and comments about the TCP
implementation:
a) The calculation of ssthresh is wrong, it should be
max( 1/2*packets_in_flight, 2) (see RFC 2581) and not
as shown below in net/tcp.h. Unfortunately the way
packets in flight is calculated is based on
heuristics, so the only sensible thing to do would be
to set to max( 1/2*packets_out, 2*MSS). This small
change can have a big impact in some cases.
-------- include/net/tcp.h:1098
/* Recalculate snd_ssthresh, we want to set it to:
*
* one half the current congestion window, but no
* less than two segments
*/
static inline __u32 tcp_recalc_ssthresh(struct tcp_opt
*tp)
{
return max(tp->snd_cwnd >> 1U, 2U);
}
-------
b) After a retransmission timeout, all the SACK
information SHOULD be forgotten (see RFC 2018).
Implementation in the kernel does not follow this but
relies on SACK reneging. This should be changed to
what the RFC has to say--again a small change to be
made.
c) There are numerous heuristics at work with no RFC
counterparts (rate halving etc etc). To have the best
performance its probably best to stick with RFCs, or
if there is a compelling need to have these heuristics
then they should be brought to the IETF first.
Implementing something based on someone's random
publications is not a good idea for an operating as
pervasive as Linux.
c) A few new RFCs have come recently (e.g., 3042
called limited retransmit) that boost the performance
of short lived connections ( e.g., HTTP
request-response) and probably it will be a good idea
to incorporate then in the kernel (barely takes a
couple of lines to implement). If no one else is
already working on it, maybe I can assist.
Please let me know what you think.
Thanks
BR
Yogesh
__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com
next reply other threads:[~2002-05-24 21:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-24 21:30 Yogesh Swami [this message]
2002-05-24 21:20 ` David S. Miller
2002-05-24 21:23 ` David S. Miller
2002-05-24 22:51 ` kuznet
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020524213011.50807.qmail@web14808.mail.yahoo.com \
--to=spy9599@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®