From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 28 Mar 2003 08:58:37 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 28 Mar 2003 08:58:37 -0500 Received: from 205-158-62-136.outblaze.com ([205.158.62.136]:1745 "HELO fs5-4.us4.outblaze.com") by vger.kernel.org with SMTP id ; Fri, 28 Mar 2003 08:58:14 -0500 Subject: 3c59x: Performance problems with 3CCFE575CT From: Felipe Alfaro Solana To: LKML Cc: akpm@zip.com.au, akpm@digeo.com, jgarzik@pobox.com Content-Type: multipart/mixed; boundary="=-1uam3htS24ZVOHPGaXyU" Organization: Message-Id: <1048860557.897.14.camel@teapot> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.3 (1.2.3-1) Date: 28 Mar 2003 15:09:17 +0100 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --=-1uam3htS24ZVOHPGaXyU Content-Type: text/plain Content-Transfer-Encoding: 7bit Hi all, I'm experiencing strange performance problems with my 3Com 3CCFE575CT CardBus card. Throughput when receiving data is steady at ~11MB/s, but throughput when sending data (for example via NFS or FTP) drops to ~4MB/s. This happens on 2.4 and 2.5 kernels, on two completely different machines: Compaq Presario 700E with AMD Athlon 1000Mhz and VIA chipset, and on my main laptop, a NEC Chrom@ with Intel Coppermine 700Mhz and Intel Chipset. However, if I replace in-kernel CardBus and 3c59x driver support with SourceForge's PCMCIA-CS project (http://pcmcia-cs.sf.net), I can get full throughput when sending and receiving, so this seems not a problem with the card at all (PCMCIA-CS uses yenta_socket, i82365 and 3c575_cb drivers - not 3c59x - and is only suppored on 2.4 kernels... 2.5 support exists but is just limited to cardmgr currently). I've been investigating but haven't still found an answer to this problem. For example, if I connect via FTP to my main FTP server (Pentium 4 + 3Com 3c905-TX-M) and do a GET, I get ~12000 KB/s. However, doing a PUT of the same file, I do only get ~4000 KB/s. Don't know what's going on. Attached to this mail, there are several files: vortex-diag-aa, vortex-diag-e, vortex-diag-mm are the output generated by vortex-diag (with -aa, -e and -mm options) just after booting up 2.5.66-mm1 kernel at runlevel 2 (Red Hat Phoebe3 beta). vortex-diag-aa2, vortex-diag-e2, vortex-diag-mm2 are generated by vortex-diag (with -aa, -e and -mm options) after GETting a file from my FTP server and then PUTting the same file back. lspci-vvv is the output of /sbin/lspci-vvv and config is the configuration used to compile 2.5.66-mm1. Any ideas? More information will be sent on demand :-) Thank you very much! Felipe Alfaro ________________________________________________________________________ Felipe Alfaro Solana Linux Registered User #287198 http://counter.li.org --=-1uam3htS24ZVOHPGaXyU Content-Disposition: attachment; filename=vortex-diag-aa Content-Type: text/plain; name=vortex-diag-aa; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit vortex-diag.c:v2.14 12/28/2002 Donald Becker (becker@scyld.com) http://www.scyld.com/diag/index.html Index #1: Found a 3CCFE575CT CardBus adapter at 0x1400. Station address 00:04:75:ab:6f:cc. Receive mode is 0x07: Normal unicast and all multicast. The Vortex chip may be active, so FIFO registers will not be read. To see all register values use the '-f' flag. Initial window 7, registers values by window: Window 0: 0000 0000 0000 0000 5555 06ff ffff 0000. Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000. Window 2: 0400 ab75 cc6f 0000 0000 0000 4102 4000. Window 3: 0000 0060 05ea 0020 0040 1000 0800 6000. Window 4: 0000 0000 0000 0ce0 0003 a800 0000 8000. Window 5: 1ffc 0000 0000 0600 0807 06ce 06c6 a000. Window 6: 0000 0000 0000 0e00 0000 04ec 06ac c000. Window 7: 0000 0000 0000 0000 0000 0000 0000 e000. Vortex chip registers at 0x1400 0x1410: **FIFO** 00000000 0000001d *STATUS* 0x1420: 00000020 00000000 00080000 00000004 0x1430: 00000000 200cdff4 0f2e9170 00080004 0x1440: 0076bb4f 00000000 00000000 00000000 0x1450: 00000000 00000000 00000000 00000000 0x1460: 00000000 00000000 00000000 00000000 0x1470: 00000000 00000000 00200000 00000000 DMA control register is 00000020. Tx list starts at 00000000. Tx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to empty. Rx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to full. Poll period Tx 00 ns., Rx 0 ns. Maximum burst recorded Tx 0, Rx 32. Indication enable is 06c6, interrupt enable is 06ce. No interrupt sources are pending. Transceiver/media interfaces available: MII. Transceiver type in use: MII. MAC settings: full-duplex. Station address set to 00:04:75:ab:6f:cc. Configuration options 4102. --=-1uam3htS24ZVOHPGaXyU Content-Disposition: attachment; filename=vortex-diag-aa2 Content-Type: text/plain; name=vortex-diag-aa2; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit vortex-diag.c:v2.14 12/28/2002 Donald Becker (becker@scyld.com) http://www.scyld.com/diag/index.html Index #1: Found a 3CCFE575CT CardBus adapter at 0x1400. Station address 00:04:75:ab:6f:cc. Receive mode is 0x07: Normal unicast and all multicast. The Vortex chip may be active, so FIFO registers will not be read. To see all register values use the '-f' flag. Initial window 7, registers values by window: Window 0: 0000 0000 0001 0000 aaaa 06ff ffff 0000. Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000. Window 2: 0400 ab75 cc6f 0000 0000 0000 4102 4000. Window 3: 0000 0060 05ea 0020 0040 1000 0800 6000. Window 4: 0000 0000 0000 0ce0 0003 a800 b000 8000. Window 5: 1ffc 0000 0000 0600 0807 06ce 06c6 a000. Window 6: 0000 0000 0000 a200 2000 29e8 8670 c000. Window 7: 0000 0000 0000 0000 0000 0000 0000 e000. Vortex chip registers at 0x1400 0x1410: **FIFO** 00000000 00000010 *STATUS* 0x1420: 00000020 00000000 00080000 00000004 0x1430: 00000000 795086b0 0f2e9030 00080004 0x1440: 0039563f 00000000 00000000 00000000 0x1450: 00000000 00000000 00000000 00000000 0x1460: 00000000 00000000 00000000 00000000 0x1470: 00000000 00000000 00200000 00000000 DMA control register is 00000020. Tx list starts at 00000000. Tx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to empty. Rx FIFO thresholds: min. burst 256 bytes, priority with 128 bytes to full. Poll period Tx 00 ns., Rx 0 ns. Maximum burst recorded Tx 0, Rx 32. Indication enable is 06c6, interrupt enable is 06ce. No interrupt sources are pending. Transceiver/media interfaces available: MII. Transceiver type in use: MII. MAC settings: full-duplex. Station address set to 00:04:75:ab:6f:cc. Configuration options 4102. --=-1uam3htS24ZVOHPGaXyU Content-Disposition: attachment; filename=vortex-diag-e Content-Type: text/plain; name=vortex-diag-e; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit vortex-diag.c:v2.14 12/28/2002 Donald Becker (becker@scyld.com) http://www.scyld.com/diag/index.html Index #1: Found a 3CCFE575CT CardBus adapter at 0x1400. Station address 00:04:75:ab:6f:cc. Receive mode is 0x07: Normal unicast and all multicast. Saved EEPROM settings of a 3Com Vortex/Boomerang: The CardBus product ID is 1578 5257. 3Com Node Address 00:04:75:AB:6F:CC (used as a unique ID only). OEM Station address 00:04:75:AB:6F:CC (used as the ethernet address). Device ID 5357, Manufacturer ID 6d50. Manufacture date (MM/DD/YYYY) 6/7/2002, division H, product SL. No BIOS ROM is present. Transceiver selection: MII. Options: negotiated duplex, link beat required. PCI Subsystem IDs: Vendor 00ab Device 0313. 100baseT4 100baseTx MII. Vortex format checksum is correct (ab vs. ab). Cyclone format checksum is incorrect (0x1a vs. 00). Hurricane format checksum is incorrect (0x68 vs. 00). --=-1uam3htS24ZVOHPGaXyU Content-Disposition: attachment; filename=vortex-diag-e2 Content-Type: text/plain; name=vortex-diag-e2; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit vortex-diag.c:v2.14 12/28/2002 Donald Becker (becker@scyld.com) http://www.scyld.com/diag/index.html Index #1: Found a 3CCFE575CT CardBus adapter at 0x1400. Station address 00:04:75:ab:6f:cc. Receive mode is 0x07: Normal unicast and all multicast. Saved EEPROM settings of a 3Com Vortex/Boomerang: The CardBus product ID is 1578 5257. 3Com Node Address 00:04:75:AB:6F:CC (used as a unique ID only). OEM Station address 00:04:75:AB:6F:CC (used as the ethernet address). Device ID 5357, Manufacturer ID 6d50. Manufacture date (MM/DD/YYYY) 6/7/2002, division H, product SL. No BIOS ROM is present. Transceiver selection: MII. Options: negotiated duplex, link beat required. PCI Subsystem IDs: Vendor 00ab Device 0313. 100baseT4 100baseTx MII. Vortex format checksum is correct (ab vs. ab). Cyclone format checksum is incorrect (0x1a vs. 00). Hurricane format checksum is incorrect (0x68 vs. 00). --=-1uam3htS24ZVOHPGaXyU Content-Disposition: attachment; filename=vortex-diag-mm Content-Type: text/plain; name=vortex-diag-mm; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit vortex-diag.c:v2.14 12/28/2002 Donald Becker (becker@scyld.com) http://www.scyld.com/diag/index.html Index #1: Found a 3CCFE575CT CardBus adapter at 0x1400. Station address 00:04:75:ab:6f:cc. Receive mode is 0x07: Normal unicast and all multicast. MII PHY found at address 0, status 782d. MII PHY 0 at #0 transceiver registers: 3100 782d 0300 e54b 01e1 45e1 0003 0000 0000 0000 0000 0000 0000 0000 0000 0000 0140 002d 0e00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000. --=-1uam3htS24ZVOHPGaXyU Content-Disposition: attachment; filename=vortex-diag-mm2 Content-Type: text/plain; name=vortex-diag-mm2; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit vortex-diag.c:v2.14 12/28/2002 Donald Becker (becker@scyld.com) http://www.scyld.com/diag/index.html Index #1: Found a 3CCFE575CT CardBus adapter at 0x1400. Station address 00:04:75:ab:6f:cc. Receive mode is 0x07: Normal unicast and all multicast. MII PHY found at address 0, status 782d. MII PHY 0 at #0 transceiver registers: 3100 782d 0300 e54b 01e1 45e1 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0140 0000 0f00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000. --=-1uam3htS24ZVOHPGaXyU Content-Disposition: attachment; filename=lspci-vvv Content-Type: text/plain; name=lspci-vvv; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit 00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- Reset- FastB2B+ 00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02) Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort+ SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- Reset+ 16bInt+ PostWrite+ 16-bit legacy interface ports at 0001 00:0c.1 CardBus bridge: Texas Instruments PCI4450 PC card Cardbus Controller Subsystem: NEC Corporation: Unknown device 80b6 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- Reset- 16bInt- PostWrite+ 16-bit legacy interface ports at 0001 00:0c.2 FireWire (IEEE 1394): Texas Instruments: Unknown device 8011 (prog-if 10 [OHCI]) Subsystem: NEC Corporation: Unknown device 80b6 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- Capabilities: [5c] Power Management version 1 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 06:00.0 Ethernet controller: 3Com Corporation 3CCFE575CT Cyclone CardBus (rev 10) Subsystem: 3Com Corporation FE575C-3Com 10/100 LAN CardBus-Fast Ethernet Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR-