From: "David S. Miller" <davem@davemloft.net>
To: Andrew Grover <andy.grover@gmail.com>
Cc: netdev@oss.sgi.com
Subject: Re: prequeue still a good idea?
Date: Thu, 28 Apr 2005 11:52:00 -0700 [thread overview]
Message-ID: <20050428115200.353db06c.davem@davemloft.net> (raw)
In-Reply-To: <c0a09e5c05042811492162746@mail.gmail.com>
On Thu, 28 Apr 2005 11:49:32 -0700
Andrew Grover <andy.grover@gmail.com> wrote:
> /* Packet is added to VJ-style prequeue for processing in process
> * context, if a reader task is waiting. Apparently, this exciting
> * idea (VJ's mail "Re: query about TCP header on tcp-ip" of 07 Sep 93)
> * failed somewhere. Latency? Burstiness? Well, at least now we will
> * see, why it failed. 8)8) --ANK
> */
>
> I'm trying to understand -- is the prequeue really not a win, and if
> so, why do we still have it?
>
> Especially with modern tcp csumming HW, its benefit is not clear to
> me. The whole point of the prequeue, and calling tcp_v4_do_rcv from
> user context, was to speed up *sw* csum, right?
It's not about the checksum only, it's about _scheduling_.
Let's say that we can get a process to wake up every quantum X,
which means that with prequeue the processes arrival rate of X onto the
cpu will determine the pacing of the data sinking and thus the ACKs
on the TCP connection.
That is, the TCP data rate becomes paced to the rate at which the
system can handle the current load. It creates a very stable system.
Without prequeue, we ACK immediately. This artificially makes the sender
believe that it can pump data out at that rate to the receiver.
People who want ultra-low latency hate this, which is why we have a
way to shut it off via sysctl so the cluster and distributed computing
folks can get the behavior they want.
prev parent reply other threads:[~2005-04-28 18:52 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-28 18:49 prequeue still a good idea? Andrew Grover
2005-04-28 18:52 ` David S. Miller [this message]
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=20050428115200.353db06c.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=andy.grover@gmail.com \
--cc=netdev@oss.sgi.com \
/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;
as well as URLs for NNTP newsgroup(s).