From owner-freebsd-current Mon Nov 10 20:45:13 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id UAA24930 for current-outgoing; Mon, 10 Nov 1997 20:45:13 -0800 (PST) (envelope-from owner-freebsd-current) Received: from smoke.marlboro.vt.us (smoke.marlboro.vt.us [198.206.215.91]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id UAA24923 for ; Mon, 10 Nov 1997 20:45:06 -0800 (PST) (envelope-from cgull@smoke.marlboro.vt.us) Received: (from cgull@localhost) by smoke.marlboro.vt.us (8.8.7/8.8.7/cgull) id XAA09046; Mon, 10 Nov 1997 23:44:52 -0500 (EST) Date: Mon, 10 Nov 1997 23:44:52 -0500 (EST) Message-Id: <199711110444.XAA09046@smoke.marlboro.vt.us> From: john hood MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: chris@netmonger.net (Christopher Masto) CC: freebsd-current@freebsd.org Subject: IDE performance - benchmark numbers In-Reply-To: <646co4$n3l$1@schenectady.netmonger.net> References: <646co4$n3l$1@schenectady.netmonger.net> X-Mailer: VM 6.31 under Emacs 19.34.2 Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk [Moved to -current, where it now belongs.] Christopher Masto writes: > I got around to reading the documentation, so now I know about the wd > flags. I thought I'd try a little experiment. First, here's what I > tested this on: > chip0: rev 0x02 on pci0.0.0 > chip1: rev 0x02 on pci0.7.0 > ide_pci0: rev 0x02 on pci0.7.1 [...] > wdc0 at 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa > wdc0: unit 0 (wd0): , 32-bit, multi-block-16 > wd0: 2442MB (5001696 sectors), 4962 cyls, 16 heads, 63 S/T, 512 B/S > wdc0: unit 1 (wd1): , 32-bit, multi-block-16 > wd1: 3020MB (6185088 sectors), 6136 cyls, 16 heads, 63 S/T, 512 B/S > wdc1 at 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa > wdc1: unit 0 (atapi): , removable, intr, dma, iordis > wcd0: 1033Kb/sec, 256Kb cache, audio play, 255 volume levels, ejectable tray > wcd0: no disc inside, unlocked You've got a motherboard based on the Triton I chipset. I see that it didn't enable DMA. Thanks to some braindeadness in its IDE controller, the driver doesn't enable DMA unless both drives on the controller are Mode4 and programmed that way. And even then it might not work-- I didn't have a Triton I motherboard to check this code on. Can you do a boot -v with flags 0xa0ffa0ff and send me the spew? [5 minutes pass] Oh dear, I see a bug (no, no, not a Bug from another planet-- rest easy). Try this patch: --- pci/ide_pci.c Sat Nov 8 02:22:48 1997 +++ /tmp/ide_pci.c Mon Nov 10 23:35:00 1997 @@ -714,7 +714,7 @@ u_long word40; /* can drive do PIO 4 and MW DMA 2? */ - if (!(mwdma_mode(wp) >= 4 && pio_mode(wp) >= 4)) + if (!(mwdma_mode(wp) >= 2 && pio_mode(wp) >= 4)) return 0; word40 = pci_conf_read(cookie->tag, 0x40); After you patch and update your kernel, can you do a boot -v with flags 0xa0ffa0ff and send me the spew? > I know IOZONE isn't a great measure of performance, but it was the > first to download, so here are the numbers I got from it. This is all > with a 64MB test file, since it says to make it at least twice the > available RAM. There was a comment made here that mode 4 isn't a good > idea, so I tried it with mode 2 for comparison. (I didn't see any > messages about DMA, so I'm wondering if my controller actually > supports it). Anyway: > > MODE BLOCK SEC-WRITE SEC-READ MB/S-W MB/S-R > 2 512 35.7 31.3 1.8 2.1 > 2 4096 29.6 29.5 2.3 2.3 > 2 10240 29.2 27.9 2.3 2.4 > 4 512 15.5 142.6 4.3 0.5 > 4 4096 12.2 141.8 5.5 0.5 > 4 10240 12.3 142.0 5.5 0.5 > > Obviously, there's something incredibly wrong with the read > performance. IMHO, all of the numbers are pretty lousy. Just for > comparison, I set the flags back to 0x0 and got these results: > > MODE BLOCK SEC-WRITE SEC-READ MB/S-W MB/S-R > 4 512 21.6 17.7 3.1 3.8 > 4 4096 15.7 15.6 4.3 4.3 > 4 10240 15.2 16.0 4.4 4.2 Which drive is this for? I wouldn't expect PIO or DMA performance this bad on a WD drive; I don't know about your Maxtor. When DMA is enabled, you should expect throughput to be slightly better than your best PIO results. --jh -- Mr. Belliveau said, "the difference was the wise, John Hood, cgull intelligent look on the face of the cow." He was @ *so* right. --Ofer Inbar smoke.marlboro.vt.us