Subject: Progress with HPT366 (UDMA/66)
To: Roger Brooks <R.S.Brooks@liverpool.ac.uk>
From: Roger Brooks <R.S.Brooks@liverpool.ac.uk>
List: netbsd-help
Date: 02/18/2000 00:49:44
I seem to have got it working!


Feb 17 23:21:22 gibbons /netbsd: NetBSD 1.4 (GIBBONS) #7: Thu Feb 17 20:05:43 GMT 2000
Feb 17 23:21:22 gibbons /netbsd:     root@tallis:/usr2/src/sys.debug/arch/i386/compile/GIBBONS
Feb 17 23:21:22 gibbons /netbsd: cpu0: family 6 model 6 step 5
Feb 17 23:21:22 gibbons /netbsd: cpu0: Intel Pentium II (Celeron) (686-class)
Feb 17 23:21:22 gibbons /netbsd: real mem  = 66715648
Feb 17 23:21:22 gibbons /netbsd: avail mem = 58642432
Feb 17 23:21:22 gibbons /netbsd: using 840 buffers containing 3440640 bytes of memory
Feb 17 23:21:22 gibbons /netbsd: mainbus0 (root)
Feb 17 23:21:22 gibbons /netbsd: pci0 at mainbus0 bus 0: configuration mode 1
Feb 17 23:21:22 gibbons /netbsd: pci0: i/o enabled, memory enabled
Feb 17 23:21:22 gibbons /netbsd: pchb0 at pci0 dev 0 function 0
Feb 17 23:21:22 gibbons /netbsd: pchb0: Intel 82443BX Host Bridge/Controller (rev. 0x03)
Feb 17 23:21:22 gibbons /netbsd: ppb0 at pci0 dev 1 function 0: Intel 82443BX AGP Interface (rev. 0x03)
Feb 17 23:21:22 gibbons /netbsd: pci1 at ppb0 bus 1
Feb 17 23:21:22 gibbons /netbsd: pci1: i/o enabled, memory enabled
Feb 17 23:21:22 gibbons /netbsd: pcib0 at pci0 dev 7 function 0
Feb 17 23:21:22 gibbons /netbsd: pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x02)
Feb 17 23:21:22 gibbons /netbsd: pciide0 at pci0 dev 7 function 1: Intel 82371AB IDE controller (PIIX4)
Feb 17 23:21:22 gibbons /netbsd: pciide0: bus-master DMA support present
Feb 17 23:21:22 gibbons /netbsd: pciide0: primary channel wired to compatibility mode
Feb 17 23:21:22 gibbons /netbsd: atapibus0 at pciide0 channel 0
Feb 17 23:21:22 gibbons /netbsd: atapibus0 drive 1: cmdsz 0x0 drqtype 0x20
Feb 17 23:21:22 gibbons /netbsd: cd0 at atapibus0 drive 1: <SAMSUNG SC-140B, , BS13> type 5 cdrom removable
Feb 17 23:21:22 gibbons /netbsd: cd0: 32-bits data port
Feb 17 23:21:22 gibbons /netbsd: cd0: drive supports PIO mode 4, DMA mode 2
Feb 17 23:21:22 gibbons /netbsd: wd0 at pciide0 channel 0 drive 0: <ST36531A>
Feb 17 23:21:22 gibbons /netbsd: wd0: drive supports 32-sector pio transfers, lba addressing
Feb 17 23:21:22 gibbons /netbsd: wd0: 6204MB, 13446 cyl, 15 head, 63 sec, 512 bytes/sect x 12706470 sectors
Feb 17 23:21:22 gibbons /netbsd: wd0: 32-bits data port
Feb 17 23:21:22 gibbons /netbsd: wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
Feb 17 23:21:22 gibbons /netbsd: pciide0: primary channel interrupting at irq 14
Feb 17 23:21:22 gibbons /netbsd: pciide0: secondary channel wired to compatibility mode
Feb 17 23:21:22 gibbons /netbsd: pciide0: disabling secondary channel (no drives)
Feb 17 23:21:22 gibbons /netbsd: wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
Feb 17 23:21:22 gibbons /netbsd: cd0(pciide0:0:1): using PIO mode 4, DMA mode 2 (using DMA data transfers)
	.
	.
	.

Feb 17 23:21:22 gibbons /netbsd: pciide1 at pci0 dev 19 function 0: Highpoint HPT366 UDMA66 IDE Controller
Feb 17 23:21:22 gibbons /netbsd: pciide1: bus-master DMA support present
Feb 17 23:21:22 gibbons /netbsd: pciide1: primary channel wired to native-PCI mode
Feb 17 23:21:22 gibbons /netbsd: pciide1: using irq 11 for native-PCI interrupt
Feb 17 23:21:22 gibbons /netbsd: wd1 at pciide1 channel 0 drive 0: <ST320430A>
Feb 17 23:21:23 gibbons /netbsd: wd1: drive supports 16-sector pio transfers, lba addressing
Feb 17 23:21:23 gibbons /netbsd: wd1: 19569MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 40079088 sectors
Feb 17 23:21:23 gibbons /netbsd: wd1: 32-bits data port
Feb 17 23:21:23 gibbons /netbsd: wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4
Feb 17 23:21:23 gibbons /netbsd: wd1(pciide1:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (using DMA data transfers)
Feb 17 23:21:23 gibbons /netbsd: pciide2 at pci0 dev 19 function 1: Highpoint HPT366 UDMA66 IDE Controller
Feb 17 23:21:23 gibbons /netbsd: pciide2: bus-master DMA support present
Feb 17 23:21:23 gibbons /netbsd: pciide2: primary channel wired to native-PCI mode
Feb 17 23:21:23 gibbons /netbsd: pciide2: using irq 11 for native-PCI interrupt

	(No drives on second UDMA/66 channel)

What sort of data throughput should I expect to see if the drive is really in
UDMA/66 mode?  I've made some measurements with bonnie and iozone:

Seagate ST320430 on HPT366 (I decided that if I was going to start playing
with UDMA/66, I might as well get the cheapest 7200 RPM disk I could find,
and that turned out to be a 20.4 GB Barracuda.  I still don't know what I'm
going to do with all the space. :-))

              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
          500 21486 94.3 22194 33.3  5933 12.7 15277 81.6 25852 28.9 114.8  2.0

iozone shows roughly similar figures (~23 MB/sec write and ~26 MB/sec read).



Same disk on PIIX4

              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
          500 14655 67.3 13940 20.1  3398  6.1 15262 81.4 19957 21.1 113.9  1.9


I still need to do some torture testing.  I particular, I'm not sure I've got
the logic correct for dealing with master and slave in different modes, but
over the weekend I'll try connecting an old HP 330 MB disk as slave and see what
happens. 


I have no trouble booting from the drive on the HPT366;  I merely had to set the
BIOS to EXT,A,C.  However, the HPT366 BIOS does not seem to provide any way to
boot from anything other than the first of its disks (other than installing a
boot selector).  It is bloody fast!  Around 35 seconds from the secondary boot
starting to load the kernel to a console login prompt.

I'm not sure what to do about the list of supposed "bad" Maxtor drives in the
Linux driver.  The following drives are reduced to PIO modes:

	"Maxtor 92720U8", "Maxtor 92040U6", "Maxtor 91360U4", "Maxtor 91020U3",
	"Maxtor 90845U3", "Maxtor 90650U2", "Maxtor 91360D8", "Maxtor 91190D7",
	"Maxtor 91020D6", "Maxtor 90845D5", "Maxtor 90680D4", "Maxtor 90510D3",
	"Maxtor 90340D2", "Maxtor 91152D8", "Maxtor 91008D7", "Maxtor 90845D6",
	"Maxtor 90840D6", "Maxtor 90720D5", "Maxtor 90648D5", "Maxtor 90576D4",
	"Maxtor 90510D4", "Maxtor 90432D3", "Maxtor 90288D2", "Maxtor 90256D2",
	"Maxtor 91000D8", "Maxtor 90910D8", "Maxtor 90875D7", "Maxtor 90840D7",
	"Maxtor 90750D6", "Maxtor 90625D5", "Maxtor 90500D4", "Maxtor 91728D8",
	"Maxtor 91512D7", "Maxtor 91303D6", "Maxtor 91080D5", "Maxtor 90845D4",
	"Maxtor 90680D4", "Maxtor 90648D3", "Maxtor 90432D2"


The curious thing is that I've got a 90845D4 in the machine I'm typing this
on (300 MHz AMD K6, MVP3 chipset), and it's been working happily in UDMA mode 2
since I got it about 9 months ago.  As this is the system disk of the machine
which I depend on working, I'm not terrribly keen on trying it on the HPT366
just in case it does something nasty to it.  Can anyone shed any light on this
list of supposed rogue Maxtor drives?

I'm slightly worried that it's been too easy to get the HPT366 working.  When
I bought the BP6, the Abit newsgroup seemed to be full of people having
problems with getting UDMA/66 to work (although most of them were running
Microslop operating systems :-/).  Has anyone any suggestions as to what else I
might do in the way of stress-testing?


Roger

------------------------------------------------------------------------------
Roger Brooks (Systems Programmer),          |  Email: R.S.Brooks@liv.ac.uk
Computing Services Dept,                    |  Tel:   +44 151 794 4441
The University of Liverpool,                |  Fax:   +44 151 794 4442
PO Box 147, Liverpool L69 3BX, UK           | 
------------------------------------------------------------------------------