From owner-freebsd-questions Sun Oct 14 19:20: 4 2001 Delivered-To: freebsd-questions@freebsd.org Received: from cshore.com (webmail.cshore.com [63.237.136.15]) by hub.freebsd.org (Postfix) with ESMTP id D11CF37B40A for ; Sun, 14 Oct 2001 19:19:46 -0700 (PDT) Received: from desktop [65.113.124.113] by cshore.com (SMTPD32-6.05) id A95630F20144; Sun, 14 Oct 2001 22:26:30 -0400 Message-ID: <001301c15520$7a521a40$e7e7a8c0@madole.net> From: "David S. Madole" To: Subject: DMA performance problem with ethernet load Date: Sun, 14 Oct 2001 22:24:11 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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 AMD Features=0xc0000800 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: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib2: at device 1.0 on pci0 pci1: on pcib2 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0xd000-0xd00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pci0: at 8.0 oltr0: port 0xd800-0xd83f irq 11 at devic e 9.0 on pci0 oltr0: MAC address 00:00:83:23:9c:e9 sis0: 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: on sis0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis1: 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: on sis1 ukphy1: on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pcib1: on motherboard pci2: on pcib1 orm0: