Skip site navigation (1)Skip section navigation (2)
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>