All of lore.kernel.org
 help / color / mirror / Atom feed
* Tigon3 5701 PCI-X recv performance problem
@ 2003-10-08 17:12 John Partridge
  2003-10-08 17:10 ` David S. Miller
  0 siblings, 1 reply; 44+ messages in thread
From: John Partridge @ 2003-10-08 17:12 UTC (permalink / raw)
  To: netdev; +Cc: John Partridge, Jeff Garzik, David S. Miller, Jes Sorensen

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	

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2003-12-03 22:11 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-08 17:12 Tigon3 5701 PCI-X recv performance problem John Partridge
2003-10-08 17:10 ` 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

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.