Re: RX overrun with 3COM 3c982
Claude Pignol <[email protected]>
| Newsgroups | gmane.linux.drivers.vortex.devel |
|---|---|
| Organization | SeismicCity, Inc. |
| Message-ID | <[email protected]> |
Donald Becker wrote: >On Thu, 14 Nov 2002, Claude Pignol wrote: > > >>Donald Becker wrote: >> >> >>>On Wed, 13 Nov 2002, Claude Pignol wrote: >>> >>> >>> >>>>>The only source for FIFO errors with this speicific chip is the errors >>>>>reported in Window 6 offset 5. >>>>>These errors can occur either because >>>>> The chip ran out of PCI bandwidth >>>>> The driver ran out of receive buffers, causing the PCI Rx transfers >>>>> (the "upload engine") to stall. >>>>> >>>>>Are you running another high-bandwidth PCI device on the system? Video >>>>>cards are the usual offenders. >>>>> >>>>> >... > > >>>>00:08.0 RAID bus controller: 3ware Inc 3ware ATA-RAID (rev 12) >>>> >>>> >>>Hmmm, this might be doing long PCI bursts, not leaving enough for the >>>Ethernet. If that's the case, the solution is to: >>> Change the Min-grant / Max-Latency PCI settings >>> Set the PCI bursts to much longer values, although the '982 has >>> reasonable defaults. The registers to change are the >>> UpBurstThreshold at offset 0x3e and >>> UpPriorityThreshold, offset 0x3c, default 4*32 = 128 bytes. >>> >>>You can read the maximum burst that actually happened at offset 0x7a >>>using vortex-diag. I wouldn't change the UpPriorityThreshold except for >>>debugging -- 128 bytes is already a too-low value for whole-frame Rx bursts. >>> >>> >>> >>Well, I am little bit lost: >>Is offset 7a (windows 7 and 10th byte): it's always 0?? >> >> > >Not the windowed registers, but the directly accessed registers. > >Oh, the external version of vortex-diag only shows up to offset 0x3f, >not all of the registers. You can see some of these values by passing >the '-g' option. > > After 3 days of test here are the info: It is almost shure that the config on the PCI bus change the behavior of the 3c982: Node with 3ware controller RX packets:409765215 errors:0 dropped:0 overruns:116032 frame:0 RX bytes:350774269 (334.5 Mb) TX bytes:1559860131 (1487.5 Mb) RX packets:379718813 errors:0 dropped:0 overruns:119040 frame:0 RX bytes:1793100395 (1710.0 Mb) TX bytes:3737722403 (3564.5 Mb) RX packets:379164652 errors:0 dropped:0 overruns:62751 frame:0 RX bytes:816992619 (779.1 Mb) TX bytes:3743352561 (3569.9 Mb) RX packets:379405957 errors:0 dropped:0 overruns:71494 frame:0 RX bytes:1313362540 (1252.5 Mb) TX bytes:3731194114 (3558.3 Mb) RX packets:378973310 errors:0 dropped:0 overruns:72889 frame:0 RX bytes:567030320 (540.7 Mb) TX bytes:3712926873 (3540.9 Mb) RX packets:378407264 errors:0 dropped:0 overruns:108203 frame:0 RX bytes:22948854 (21.8 Mb) TX bytes:3714060207 (3542.0 Mb) RX packets:377974936 errors:0 dropped:0 overruns:105101 frame:0 RX bytes:4079727185 (3890.7 Mb) TX bytes:3701238513 (3529.7 Mb) RX packets:378136749 errors:0 dropped:0 overruns:69784 frame:0 RX bytes:4281265663 (4082.9 Mb) TX bytes:3638530292 (3469.9 Mb) RX packets:361880510 errors:0 dropped:0 overruns:234839 frame:0 RX bytes:3434744713 (3275.6 Mb) TX bytes:3172067220 (3025.1 Mb) RX packets:396912241 errors:0 dropped:0 overruns:321140 frame:0 RX bytes:1130790923 (1078.4 Mb) TX bytes:1338007046 (1276.0 Mb) Ratio: .00018 overrun/packet But a node without a 3ware controller has also some overrun but the ratio is much smaller EX: RX packets:157870606 errors:0 dropped:0 overruns:8 frame:0 RX bytes:4125684906 (3934.5 Mb) TX bytes:947167172 (903.2 Mb) RX packets:157725111 errors:0 dropped:0 overruns:5 frame:0 RX bytes:3949515687 (3766.5 Mb) TX bytes:909685418 (867.5 Mb) For the same amout of data transfered: R=.000000050 overrun/packet Output of vortex-diag -g for a node with a 3ware controller: vortex-diag.c:v2.09 9/18/2002 Donald Becker ([email protected]) http://www.scyld.com/diag/index.html Index #1: Found a 3c982 Dual Port server NIC adapter at 0x2400. DMA control register is 000000a0. DMA control register is 000000a4 (during Tx Stall). Tx list starts at 3775dad0. Tx FIFO thresholds: min. burst 256 bytes, priority with 163968 bytes to empty. Tx poll period 6400 ns. Tx maximum burst recorded 0. Output of vortex-diag -g for a node without a 3ware controller: vortex-diag.c:v2.09 9/18/2002 Donald Becker ([email protected]) http://www.scyld.com/diag/index.html Index #1: Found a 3c982 Dual Port server NIC adapter at 0x2400. DMA control register is 000000a0. DMA control register is 000000a4 (during Tx Stall). Tx list starts at 37606a20. Tx FIFO thresholds: min. burst 256 bytes, priority with 163968 bytes to empty. Tx poll period 6400 ns. Tx maximum burst recorded 0. CP. >I've just changed this in vortex-diag -- this will be in the next public >version. > > > >>I don't know how to change the value of 0x3c >>and 0x3e. but before trying to change them it's a good thing to locate >>them. >> >> > > > > -- ------------------------------------------------------------------------ Claude Pignol SeismicCity, Inc. <http://www.seismiccity.com> 2900 Wilcrest Dr. Suite 370 Houston TX 77042 Phone:832 251 1471 Mob:281 703 2933 Fax:832 251 0586 _______________________________________________ vortex mailing list [email protected] http://www.scyld.com/mailman/listinfo/vortex