From: Marc Herbert <marc.herbert@free.fr>
To: netdev@oss.sgi.com
Subject: Re: TxDescriptors -> 1024 default. Please not for every NIC!
Date: Wed, 19 May 2004 11:30:28 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.58.0405190256010.30653@fcat> (raw)
In-Reply-To: <Pine.LNX.4.58.0405151354220.9894@fcat>
On Sat, 15 May 2004, Marc Herbert wrote:
> <http://oss.sgi.com/projects/netdev/archive/2003-09/threads.html#00247>
>
> Sorry to exhume this discussion but I only recently discovered this
> change, the hard way.
>
> I am unfortunately not familiar with this part of the linux kernel,
> but I really think that, if possible, txqueuelen should be initialized
> at some "constant 12 ms" and not at the "1000 packets" highly variable
> latency setting. I can imagine there are some corner cases, like for
> instance when some GEth NIC is hot-plugged into a 100 Mb/s, or jumbo
> frames, but hey, those are corner cases : as a first step, even a
> simple constant-per-model txqueuelen initialization would be already
> great.
After some further study, I was glad to discover my suggestion above
both easy and short to implement. See patch below.
Trying to sum-it up:
- Ricardo asks (among others) for a new 1000 packets default
txqueuelen for Intel's e1000, based on some data (couldn't not find
this data, please send me the pointer if you have it, thanks).
- Me argues that we all lived happy for ages with this default
setting of 100 packets @ 100 Mb/s (and lived approximately happy @
10 Mb/s), but we'll soon see doom and gloom with this new and
brutal change to 1000 packets for all this _legacy_ 10-100 Mb/s
hardware. e1000 data only is not enough to justify this radical
shift.
If you are convinced by _both_ items above, then the patch below
content _both_, and we're done.
If you are not, then... wait for further discussion, including answers
to latest Ricardo's post.
PS: several people seem to think TCP "drops" packets when the qdisc is
full. My analysis of the code _and_ my experiments makes me think they
are wrong: TCP rather "blocks" when the qdisc is full. See explanation
here: <http://oss.sgi.com/archives/netdev/2004-05/msg00151.html>
(Subject: Re: TcpOutSegs way too optimistic (netstat -s))
===== drivers/net/net_init.c 1.11 vs edited =====
--- 1.11/drivers/net/net_init.c Tue Sep 16 01:12:25 2003
+++ edited/drivers/net/net_init.c Wed May 19 11:05:34 2004
@@ -420,7 +420,10 @@
dev->hard_header_len = ETH_HLEN;
dev->mtu = 1500; /* eth_mtu */
dev->addr_len = ETH_ALEN;
- dev->tx_queue_len = 1000; /* Ethernet wants good queues */
+ dev->tx_queue_len = 100; /* This is a sensible generic default for
+ 100 Mb/s: about 12ms with 1500 full size packets.
+ Drivers should tune this depending on interface
+ specificities and settings */
memset(dev->broadcast,0xFF, ETH_ALEN);
===== drivers/net/e1000/e1000_main.c 1.56 vs edited =====
--- 1.56/drivers/net/e1000/e1000_main.c Tue Feb 3 01:43:42 2004
+++ edited/drivers/net/e1000/e1000_main.c Wed May 19 03:14:32 2004
@@ -400,6 +400,8 @@
err = -ENOMEM;
goto err_alloc_etherdev;
}
+
+ netdev->tx_queue_len = 1000;
SET_MODULE_OWNER(netdev);
next prev parent reply other threads:[~2004-05-19 9:30 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-09 3:14 [e1000 2.6 10/11] TxDescriptors -> 1024 default Feldman, Scott
2003-09-11 19:18 ` Jeff Garzik
2003-09-11 19:45 ` Ben Greear
2003-09-11 19:59 ` Jeff Garzik
2003-09-11 20:12 ` David S. Miller
2003-09-11 20:40 ` Ben Greear
2003-09-11 21:07 ` David S. Miller
2003-09-11 21:29 ` Ben Greear
2003-09-11 21:29 ` David S. Miller
2003-09-11 21:47 ` Ricardo C Gonzalez
2003-09-11 22:00 ` Jeff Garzik
2003-09-11 22:15 ` Ben Greear
2003-09-11 23:02 ` David S. Miller
2003-09-11 23:22 ` Ben Greear
2003-09-11 23:29 ` David S. Miller
2003-09-12 1:34 ` jamal
2003-09-12 2:20 ` Ricardo C Gonzalez
2003-09-12 3:05 ` jamal
2003-09-13 3:49 ` David S. Miller
2003-09-13 11:52 ` Robert Olsson
2003-09-15 12:12 ` jamal
2003-09-15 13:45 ` Robert Olsson
2003-09-15 23:15 ` David S. Miller
2003-09-16 9:28 ` Robert Olsson
2003-09-14 19:08 ` Ricardo C Gonzalez
2003-09-15 2:50 ` David Brownell
2003-09-15 8:17 ` David S. Miller
2004-05-15 12:14 ` TxDescriptors -> 1024 default. Please not for every NIC! Marc Herbert
2004-05-19 9:30 ` Marc Herbert [this message]
2004-05-19 10:27 ` Pekka Pietikainen
2004-05-20 14:11 ` Luis R. Rodriguez
2004-05-20 16:38 ` [Prism54-devel] " Jean Tourrilhes
2004-05-20 16:45 ` Tomasz Torcz
2004-05-20 17:13 ` zero copy TX in benchmarks was " Andi Kleen
2004-05-19 11:54 ` Andi Kleen
[not found] <C925F8B43D79CC49ACD0601FB68FF50CDB13D3@orsmsx408>
2004-06-02 19:14 ` Marc Herbert
2004-06-02 19:49 ` Cheng Jin
2004-06-05 14:37 ` jamal
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=Pine.LNX.4.58.0405190256010.30653@fcat \
--to=marc.herbert@free.fr \
--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).