Date: Mon, 10 Nov 1997 23:44:52 -0500 (EST) From: john hood <cgull@smoke.marlboro.vt.us> To: chris@netmonger.net (Christopher Masto) Cc: freebsd-current@freebsd.org Subject: IDE performance - benchmark numbers Message-ID: <199711110444.XAA09046@smoke.marlboro.vt.us> In-Reply-To: <646co4$n3l$1@schenectady.netmonger.net> References: <646co4$n3l$1@schenectady.netmonger.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[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: <Intel 82437FX PCI cache memory controller> rev 0x02 on pci0.0.0 > chip1: <Intel 82371FB PCI to ISA bridge> rev 0x02 on pci0.7.0 > ide_pci0: <Intel PIIX Bus-master IDE controller> rev 0x02 on pci0.7.1 [...] > wdc0 at 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa > wdc0: unit 0 (wd0): <Maxtor 82560 A4 ->, 32-bit, multi-block-16 > wd0: 2442MB (5001696 sectors), 4962 cyls, 16 heads, 63 S/T, 512 B/S > wdc0: unit 1 (wd1): <WDC AC33100H>, 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): <FX600S/P01>, 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711110444.XAA09046>