netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Partridge <johnip@sgi.com>
To: netdev@oss.sgi.com
Cc: John Partridge <johnip@sgi.com>, Jeff Garzik <jgarzik@pobox.com>,
	"David S. Miller" <davem@redhat.com>, Jes Sorensen <jes@sgi.com>
Subject: Tigon3 5701 PCI-X recv performance problem
Date: Wed, 08 Oct 2003 12:12:24 -0500	[thread overview]
Message-ID: <3F844578.40306@sgi.com> (raw)

I am seeing a problem with PCI-X recv performance on the Broadcom 5701 cards.
This is due to a known PCI-X errata with the DMA engine when buffers are non zero
offset aligned. As well as performance problems there are also a lot of kernel
unaligned access messages in the system log (hundereds of them) :-

kernel unaligned access to 0xe0000030174f382e, ip=0xe0000000047d1f80

This affects both 2.4x and 2.6x tg3.o drivers

Measure of performance WITHOUT fix :-
mig125:~ # nttcp -r -T -l262144 -w1024 -n1000 10.50.1.130 -l262144 -w1024
      Bytes  Real s   CPU s Real-MBit/s  CPU-MBit/s   Calls  Real-C/s   CPU-C/s
l2621440000  118.36   43.24    177.1846    484.9782 1818304  15362.52   42049.3
12621440000  118.34   12.70    177.2167   1651.3857   10000     84.50     787.4

I then applied a fix to the driver :-

line 2260 of linux-2.6.0-test6/drivers/net/tg3.c

-               if (len > RX_COPY_THRESHOLD) {
+               if (len > RX_COPY_THRESHOLD && tp->rx_offset == 2) {

Then I loaded a tg3.o module which has the fix, and ran the test again

Measure of performance WITH fix :-
mig125:~ # nttcp -r -T -l262144 -w1024 -n1000 10.50.1.130 -l262144 -w1024
      Bytes  Real s   CPU s Real-MBit/s  CPU-MBit/s   Calls  Real-C/s   CPU-C/s
l262144000    2.23    1.64    940.6910   1277.5033   35082  15736.26   21370.6
1262144000    2.22    1.43    944.0677   1470.4690    1000    450.17     701.2

This ONLY affects Broadcom 5701 based Gigabit Ethernet cards 5704 cards do not
have the same errata. I confirmed that the fix did not affect the performance
or functionality of 5704 cards, actually the fix ensures that the 5701 cards don't
go through the same code path as 5704 (becuase tp->rx_offset is 0 for 5701 so we
always align the buffers for the 5701 card).

John

-- 
John Partridge

Silicon Graphics Inc
Tel:  651-683-3428
Vnet: 233-3428
E-Mail: johnip@sgi.com	

             reply	other threads:[~2003-10-08 17:12 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-08 17:12 John Partridge [this message]
2003-10-08 17:10 ` Tigon3 5701 PCI-X recv performance problem David S. Miller
2003-10-08 17:52   ` John Partridge
2003-10-08 18:26     ` David S. Miller
2003-10-08 19:02       ` John Partridge
2003-10-08 19:11         ` Steve Modica
2003-10-08 19:15           ` David S. Miller
2003-10-08 18:21   ` Steve Modica
2003-10-08 18:29     ` David S. Miller
2003-10-08 18:37     ` Andi Kleen
2003-10-08 19:22       ` David S. Miller
2003-10-08 20:22         ` Andi Kleen
2003-10-08 20:24           ` David S. Miller
2003-10-08 20:33             ` Andi Kleen
2003-10-08 20:32               ` David S. Miller
2003-10-08 20:46                 ` Andi Kleen
2003-10-08 20:50                   ` David S. Miller
2003-10-10 19:05           ` Steve Modica
2003-10-10 19:20             ` Andi Kleen
2003-10-11 13:17               ` Steve Modica
2003-10-11 13:19                 ` Andi Kleen
2003-10-11 17:50                   ` David S. Miller
2003-10-13 19:53                     ` John Partridge
2003-10-13 19:51                       ` David S. Miller
2003-10-14 16:49                     ` John Partridge
2003-10-14 16:53                       ` David S. Miller
2003-11-11  1:24                         ` John Partridge
2003-11-11  2:29                           ` David S. Miller
2003-11-11 20:04                             ` John Partridge
2003-11-11 20:24                               ` David S. Miller
2003-11-11 21:26                                 ` John Partridge
2003-11-11 21:32                                   ` Jeff Garzik
2003-12-03 22:11                                     ` John Partridge
2003-11-11 21:39                                 ` John Partridge
2003-11-11 23:09                                   ` David S. Miller
2003-11-11 23:53                                   ` Andi Kleen
2003-11-12  1:46                                     ` John Partridge
2003-11-12  6:19                                       ` Andi Kleen
2003-11-12  7:05                                         ` Jeff Garzik
2003-11-12 15:32                                           ` John Partridge
2003-11-12 15:43                                             ` Christoph Hellwig
2003-11-11 20:25                               ` David S. Miller
2003-11-11 20:57                                 ` Jeff Garzik
2003-10-14 18:47                   ` John Partridge

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=3F844578.40306@sgi.com \
    --to=johnip@sgi.com \
    --cc=davem@redhat.com \
    --cc=jes@sgi.com \
    --cc=jgarzik@pobox.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).