From: Scott Feldman <sfeldma@pobox.com>
To: Lennert Buytenhek <buytenh@wantstofly.org>
Cc: jamal <hadi@cyberus.ca>,
Robert Olsson <Robert.Olsson@data.slu.se>,
P@draigBrady.com, mellia@prezzemolo.polito.it,
e1000-devel@lists.sourceforge.net,
Jorge Manuel Finochietto <jorge.finochietto@polito.it>,
Giulio Galante <galante@polito.it>,
netdev@oss.sgi.com
Subject: Re: [E1000-devel] Transmission limit
Date: Wed, 01 Dec 2004 22:13:33 -0800 [thread overview]
Message-ID: <1101967983.4782.9.camel@localhost.localdomain> (raw)
In-Reply-To: <20041201213550.GF14470@xi.wantstofly.org>
On Wed, 2004-12-01 at 13:35, Lennert Buytenhek wrote:
> Pretty graph attached. From ~220B packets or so it does wire speed, but
> there's still an odd drop in performance around 256B packets (which is
> also there without your patch.) From 350B packets or so, performance is
> identical with or without your patch (wire speed.)
Seems this is helping PCI nics but not PCI-X. I was using PCI 32/33.
Can't explain the dip around 256B.
> So. Do you have any other good plans perhaps? :)
Idea#1
Is the write of TDT causing interference with DMA transactions?
In addition to my patch, what happens if you bump the Tx tail every n
packets, where n is like 16 or 32 or 64?
if((i % 16) == 0)
E1000_REG_WRITE(&adapter->hw, TDT, i);
This might piss the NETDEV timer off if the send count isn't a multiple
of n, so you might want to disable netdev->tx_timeout.
Idea#2
The Ultimate: queue up 4096 packets and then write TDT once to send all
4096 in one shot. Well, maybe a few less that 4096 so we don't wrap the
ring. How about pkt_size = 4000?
Take my patch and change the timer call in e1000_xmit_frame from
jiffies + 1
to
jiffies + HZ
This will schedule the cleanup of the skbs 1 second after the first
queue, so we shouldn't be doing any cleanup while the 4000 packets are
DMA'ed.
Oh, and change the tail write to
if((i % 4000) == 0)
E1000_REG_WRITE(&adapter->hw, TDT, i);
Of course you'll need to close/open the driver after each run.
Idea#3
http://www.mail-archive.com/freebsd-net@freebsd.org/msg10826.html
Set TXDMAC to 0 in e1000_configure_tx.
> > Once or twice it went into a state where it started spitting out these
> > kinds of messages and never recovered:
> >
> > Dec 1 19:13:18 phi kernel: NETDEV WATCHDOG: eth1: transmit timed out
> > [...]
> > Dec 1 19:13:31 phi kernel: NETDEV WATCHDOG: eth1: transmit timed out
> > [...]
> > Dec 1 19:13:43 phi kernel: NETDEV WATCHDOG: eth1: transmit timed out
>
> Didn't see this happen anymore. (ifconfig down and then up recovered it
> both times I saw it happen.)
Well, it's probably not a HW bug that's causing the reset; it's probably
some bug with my patch.
-scott
next prev parent reply other threads:[~2004-12-02 6:13 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1101467291.24742.70.camel@mellia.lipar.polito.it>
2004-11-26 14:05 ` [E1000-devel] Transmission limit P
2004-11-26 15:31 ` Marco Mellia
2004-11-26 19:56 ` jamal
2004-11-29 14:21 ` Marco Mellia
2004-11-30 13:46 ` jamal
2004-12-02 17:24 ` Marco Mellia
2004-11-26 20:06 ` jamal
2004-11-26 20:56 ` Lennert Buytenhek
2004-11-26 21:02 ` Lennert Buytenhek
2004-11-27 9:25 ` Harald Welte
[not found] ` <20041127111101.GC23139@xi.wantstofly.org>
2004-11-27 11:31 ` Harald Welte
2004-11-27 20:12 ` Cesar Marcondes
2004-11-29 8:53 ` Marco Mellia
2004-11-29 14:50 ` Lennert Buytenhek
2004-11-30 8:42 ` Marco Mellia
2004-12-01 12:25 ` jamal
2004-12-02 13:39 ` Marco Mellia
2004-12-03 13:07 ` jamal
2004-11-26 15:40 ` Robert Olsson
2004-11-26 15:59 ` Marco Mellia
2004-11-26 16:57 ` P
2004-11-26 20:01 ` jamal
2004-11-29 10:19 ` P
2004-11-29 13:09 ` Robert Olsson
2004-11-29 20:16 ` David S. Miller
2004-12-01 16:47 ` Robert Olsson
2004-11-30 13:31 ` jamal
2004-11-30 13:46 ` Lennert Buytenhek
2004-11-30 14:25 ` jamal
2004-12-01 0:11 ` Lennert Buytenhek
2004-12-01 1:09 ` Scott Feldman
2004-12-01 15:34 ` Robert Olsson
2004-12-01 16:49 ` Scott Feldman
2004-12-01 17:37 ` Robert Olsson
2004-12-02 17:54 ` Robert Olsson
2004-12-02 18:23 ` Robert Olsson
2004-12-02 23:25 ` Lennert Buytenhek
2004-12-03 5:23 ` Scott Feldman
2004-12-10 16:24 ` Martin Josefsson
2004-12-01 18:29 ` Lennert Buytenhek
2004-12-01 21:35 ` Lennert Buytenhek
2004-12-02 6:13 ` Scott Feldman [this message]
2004-12-03 13:24 ` jamal
2004-12-05 14:50 ` 1.03Mpps on e1000 (was: Re: [E1000-devel] Transmission limit) Lennert Buytenhek
2004-12-05 15:03 ` Martin Josefsson
2004-12-05 15:15 ` Lennert Buytenhek
2004-12-05 15:19 ` Martin Josefsson
2004-12-05 15:30 ` Martin Josefsson
2004-12-05 17:00 ` Lennert Buytenhek
2004-12-05 17:11 ` Martin Josefsson
2004-12-05 17:38 ` Martin Josefsson
2004-12-05 18:14 ` Lennert Buytenhek
2004-12-05 15:42 ` Martin Josefsson
2004-12-05 16:48 ` Martin Josefsson
2004-12-05 17:01 ` Martin Josefsson
2004-12-05 17:58 ` Lennert Buytenhek
2004-12-05 17:44 ` Lennert Buytenhek
2004-12-05 17:51 ` Lennert Buytenhek
2004-12-05 17:54 ` Martin Josefsson
2004-12-06 11:32 ` 1.03Mpps on e1000 (was: " jamal
2004-12-06 12:11 ` Lennert Buytenhek
2004-12-06 12:20 ` jamal
2004-12-06 12:23 ` Lennert Buytenhek
2004-12-06 12:30 ` Martin Josefsson
2004-12-06 13:11 ` jamal
[not found] ` <20041206132907.GA13411@xi.wantstofly.org>
[not found] ` <16820.37049.396306.295878@robur.slu.se>
2004-12-06 17:32 ` 1.03Mpps on e1000 (was: Re: [E1000-devel] " P
2004-12-08 23:36 ` Ray Lehtiniemi
[not found] ` <41B825A5.2000009@draigBrady.com>
[not found] ` <20041209161825.GA32454@mail.com>
2004-12-09 17:12 ` 1.03Mpps on e1000 P
[not found] ` <20041209164820.GB32454@mail.com>
2004-12-09 17:19 ` P
2004-12-09 23:25 ` Ray Lehtiniemi
2004-12-05 21:12 ` 1.03Mpps on e1000 (was: Re: [E1000-devel] Transmission limit) Scott Feldman
2004-12-05 21:25 ` Lennert Buytenhek
2004-12-06 1:23 ` 1.03Mpps on e1000 (was: " Scott Feldman
2004-12-02 17:31 ` [E1000-devel] Transmission limit Marco Mellia
2004-12-03 20:57 ` Lennert Buytenhek
2004-12-04 10:36 ` Lennert Buytenhek
2004-12-01 12:08 ` jamal
2004-12-01 15:24 ` Lennert Buytenhek
2004-11-26 17:58 ` Robert Olsson
2004-11-27 20:00 ` Lennert Buytenhek
2004-11-29 12:44 ` Marco Mellia
2004-11-29 15:19 ` Lennert Buytenhek
2004-11-29 17:32 ` Marco Mellia
2004-11-29 19:08 ` Lennert Buytenhek
2004-11-29 19:09 ` Lennert Buytenhek
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=1101967983.4782.9.camel@localhost.localdomain \
--to=sfeldma@pobox.com \
--cc=P@draigBrady.com \
--cc=Robert.Olsson@data.slu.se \
--cc=buytenh@wantstofly.org \
--cc=e1000-devel@lists.sourceforge.net \
--cc=galante@polito.it \
--cc=hadi@cyberus.ca \
--cc=jorge.finochietto@polito.it \
--cc=mellia@prezzemolo.polito.it \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.