From: Mika Liljeberg <Mika.Liljeberg@welho.com>
To: kuznet@ms2.inr.ac.ru
Cc: ak@muc.de, davem@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: TCP acking too fast
Date: Mon, 15 Oct 2001 22:15:22 +0300 [thread overview]
Message-ID: <3BCB35CA.4D9D2952@welho.com> (raw)
In-Reply-To: <200110151840.WAA24000@ms2.inr.ac.ru>
kuznet@ms2.inr.ac.ru wrote:
> > Well, I think this "problem" is way overstated.
>
> Understated. :-)
>
> Actually, people who designed all this engine always kept in the mind
> only two cases: ftp and telnet. Who did care that some funny
> protocols sort of smtp work thousand times slower than they could?
Well, if you ask me, it's smtp that is a prime example of braindead
protocol design. It's a wonder we're still using it. If you put that
many request-reply interactions into a protocol that could easily be
done in one you're simply begging for a bloody nose. Nagle or not, smtp
sucks. :)
Anyway, Minshall's version of Nagle is ok with smtp as long as the smtp
implementation isn't stupid enough to emit two remants in one go (yeah,
right).
Anyway, it would be interesting to try a (even more) relaxed version of
Nagle that would allow a maximum of two remnants in flight. This would
basically cover all TCP request/reply cases (leading AND trailing
remnant). Coupled with large initial window to get rid of small-cwnd
interactions, it might be almost be all right.
Assuming the above, we woulnd't need your ack-every-pushed-remnant
policy, except for the following pathological bidirection case:
A and B send two remnants to each other at the same time. Then both
block waiting for ack, until finally one of them sends a delay ack. You
could break this deadlock by using the following rule:
- if we're blocked on Nagle (two remnants out) and the received segment
has PSH, send ACK immediately
In other cases you wouldn't need to ack pushed segments. What do you
think? :-)
> Alexey
Regards,
MikaL
next prev parent reply other threads:[~2001-10-15 19:15 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-14 0:23 TCP acking too fast Mika Liljeberg
2001-10-14 6:40 ` David S. Miller
2001-10-14 7:05 ` Mika Liljeberg
2001-10-14 7:47 ` David S. Miller
2001-10-14 7:51 ` Mika Liljeberg
2001-10-14 8:12 ` David S. Miller
2001-10-14 8:39 ` Mika Liljeberg
2001-10-14 9:03 ` David S. Miller
2001-10-14 9:15 ` Mika Liljeberg
2001-10-14 9:16 ` David S. Miller
2001-10-14 9:25 ` Andi Kleen
2001-10-14 9:39 ` David S. Miller
2001-10-14 11:30 ` Andi Kleen
2001-10-14 11:49 ` Mika Liljeberg
2001-10-14 14:05 ` Andi Kleen
2001-10-14 14:26 ` Mika Liljeberg
2001-10-14 16:12 ` Andi Kleen
2001-10-14 16:55 ` Mika Liljeberg
2001-10-14 17:07 ` kuznet
2001-10-14 17:26 ` Mika Liljeberg
2001-10-14 17:35 ` kuznet
2001-10-14 17:56 ` Mika Liljeberg
2001-10-14 18:20 ` kuznet
2001-10-14 18:48 ` Mika Liljeberg
2001-10-14 19:12 ` kuznet
2001-10-14 19:32 ` Mika Liljeberg
2001-10-14 19:40 ` kuznet
2001-10-14 20:06 ` Mika Liljeberg
2001-10-15 18:40 ` kuznet
2001-10-15 19:15 ` Mika Liljeberg [this message]
2001-10-15 19:38 ` Mika Liljeberg
2001-10-14 13:14 ` [PATCH] " Mika Liljeberg
2001-10-14 16:36 ` kuznet
2001-10-14 7:50 ` David S. Miller
2001-10-14 7:53 ` Mika Liljeberg
2001-10-15 20:59 ` Bill Davidsen
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=3BCB35CA.4D9D2952@welho.com \
--to=mika.liljeberg@welho.com \
--cc=ak@muc.de \
--cc=davem@redhat.com \
--cc=kuznet@ms2.inr.ac.ru \
--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