Date: Sun, 14 Oct 2001 22:24:11 -0400 From: "David S. Madole" <david@madole.net> To: <questions@freebsd.org> Subject: DMA performance problem with ethernet load Message-ID: <001301c15520$7a521a40$e7e7a8c0@madole.net>
next in thread | raw e-mail | index | archive | help
I've got a performance problem that I'm completely stumped on, but just can't seem to give up on, either. I'd appreciate if anyone has any ideas (dmesg at end for reference). I have two Maxtor drives, a 6GB and a 60GB in the same machine. Both come up UDMA33 (the limit of the motherboard, a Tyan Trinity 100AT). I've also got 100Mb ethernet in the machine. If I ftp a file to a filesystem on ad0 (the 6GB), I get a transfer rate about 5MByte/sec -- seems OK. If I ftp the same file to a filesystem on ad1 (the 60GB) I get a transfer rate of about 500KByte/sec -- one tenth. If I disable DMA using hw.atamodes for the 60GB time, the rate increases to 5MByte/sec. If I use dd to copy /dev/zero to a file on the drives, I get close to 20MByte/sec on both drives, when DMA is enabled, about 10MByte/sec without. Even worse, I tried changing the NIC from an sis0 (NetGear) to dc0 (LinkSys) and things got worse. Now, under DMA, the 6GB drive does about 1MByte/sec and the 60GB does about 700KByte/sec. Without DMA, both drives do about 5MByte/sec, which incidentally, is about what I get if I ftp into /dev/null. It seems there is some sort of conflict between the ethernet I/O and the hard drive DMA. I'd rather run DMA if possible, because the CPU load is very high when doing a lot of I/O without it. Here's what I've tried with no change: 1. Both drives on same IDE channel 2. Reverse master/slave relationship 3. Try 80-pin IDE cable 4. Drives on separate IDE channels, both master 5. Swap drives on channels 6. Change IRQ on ethernet card through 9, 10, 11 7. Change slot of ethernet card 8. Use Maxtor utility to force DMA33 on drive 9. Swap sis0 NIC for dc0 NIC (got worse actually) 10. Rearranged IRQs so none are shared 11. Fool with most BIOS PCI settings I don't know how to troubleshoot from here. Should I just give up and assume it's a hopeless chipset-related problem? Thanks for any help! Dave FreeBSD 4.4-RELEASE #2: Sun Oct 14 17:51:41 EDT 2001 Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 551253093 Hz CPU: AMD-K6(tm)-III Processor (551.25-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x5d0 Stepping = 0 Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX> AMD Features=0xc0000800<SYSCALL,DSP,3DNow!> real memory = 134217728 (131072K bytes) avail memory = 127537152 (124548K bytes) Preloaded elf kernel "kernel" at 0xc0317000. K6-family MTRR support enabled (2 registers) Using $PIR table, 6 entries at 0xc00fddf0 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib2: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib2 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xd000-0xd00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pci0: <Cirrus Logic GD5434 SVGA controller> at 8.0 oltr0: <Olicom PCI/II 16/4 Adapter (OC-3137)> port 0xd800-0xd83f irq 11 at devic e 9.0 on pci0 oltr0: MAC address 00:00:83:23:9c:e9 sis0: <NatSemi DP83815 10/100BaseTX> port 0xdc00-0xdcff mem 0xe0001000-0xe0001ff f irq 9 at device 10.0 on pci0 sis0: Ethernet address: 00:a0:cc:75:1b:be miibus0: <MII bus> on sis0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis1: <NatSemi DP83815 10/100BaseTX> port 0xe000-0xe0ff mem 0xe0000000-0xe0000ff f irq 9 at device 11.0 on pci0 sis1: Ethernet address: 00:a0:cc:7a:83:00 miibus1: <MII bus> on sis1 ukphy1: <Generic IEEE 802.3u media interface> on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pcib1: <Host to PCI bridge> on motherboard pci2: <PCI bus> on pcib1 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x100> pcic0: <Vadem 469> at port 0x3e2 on isa0 pcic0: Polling mode pccard0: <PC Card bus (classic)> on pcic0 pccard1: <PC Card bus (classic)> on pcic0 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A, console sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A sio2 at port 0x3e8-0x3ef irq 5 on isa0 sio2: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 drq 3 on isa0 ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port sbc0: <Creative ViBRA16X> at port 0x220-0x22f,0x300-0x301,0x388-0x38b irq 10 drq 0,1 on isa0 pcm0: <SB16 DSP 4.16 (ViBRA16X)> on sbc0 IP packet filtering initialized, divert enabled, rule-based forwarding enabled, default to deny, logging disabled ad0: 6149MB <Maxtor 90644D3> [13328/15/63] at ata0-master UDMA33 ad1: 58623MB <Maxtor 96147U8> [119108/16/63] at ata1-master UDMA33 pccard: card inserted, slot 0 acd0: CDROM <ATAPI 50X CDROM> at ata1-slave using UDMA33 Mounting root from ufs:/dev/ad0s1a wi0: <WaveLAN/IEEE 802.11> at port 0x240-0x27f irq 12 slot 0 on pccard0 wi0: Ethernet address: 00:e0:63:82:2a:87 oltr0: ring insert (16 Mbps - TKP) lpt0: switched to polled extended mode To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001301c15520$7a521a40$e7e7a8c0>