Strange IDE performance observations

From: Mike Castle (dalgoda@ix.netcom.com)
Date: Thu Mar 16 2000 - 09:44:02 EST


I strongly suspect that what I'm about to describe is due either to a flaky
motherboard or a harddrive going bad, as opposed to a kernel or config
issue. I'm hoping someone here can confirm. <beg>Andre?</beg>

I've tried researching deja/usenet for answers, but really didn't find
anything that I could piece together.

First, some filtered output from dmesg:

Linux version 2.2.14 (root@thune) (gcc version 2.95.2 19991024 (release)) #5 Mon Mar 6 20:41:52 CST 2000
Detected 233224515 Hz processor.
Calibrating delay loop... 465.31 BogoMIPS
Memory: 79676k/81920k available (756k kernel code, 412k reserved, 1020k data, 56k init)
Dentry hash table entries: 16384 (order 5, 128k)
Buffer cache hash table entries: 131072 (order 7, 512k)
Page cache hash table entries: 32768 (order 5, 128k)
CPU: Intel Pentium MMX stepping 03
PCI: PCI BIOS revision 2.10 entry at 0xfb000
PCI: Using configuration type 1
PCI: Probing PCI hardware
Uniform Multi-Platform E-IDE driver Revision: 6.30
PIIX3: IDE controller on PCI bus 00 dev 39
PIIX3: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
hda: Maxtor 82560A4, ATA DISK drive
hdb: Maxtor 91303D6, ATA DISK drive
hdc: Maxtor 93652U8, ATA DISK drive
hdd: Maxtor 92048U8, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: Maxtor 82560A4, 2442MB w/256kB Cache, CHS=620/128/63, DMA
hdb: Maxtor 91303D6, 12427MB w/512kB Cache, CHS=25249/16/63, (U)DMA
hdc: Maxtor 93652U8, 34837MB w/2048kB Cache, CHS=70780/16/63, (U)DMA
hdd: Maxtor 92048U8, 19470MB w/2048kB Cache, CHS=39560/16/63, (U)DMA

Now some output from hdparm 3.6 (note it gets the 93652U8 wrong, but then
so does fdisk 2.10d, but it *seems* to work, so far):
/dev/hda:
 multcount = 16 (on)
 I/O support = 1 (32-bit)
 unmaskirq = 1 (on)
 using_dma = 1 (on)
 keepsettings = 1 (on)
 nowerr = 0 (off)
 readonly = 0 (off)
 readahead = 8 (on)
 geometry = 620/128/63, sectors = 5001728, start = 0

 Model=Maxtor 82560A4, FwRev=AA8Z2726, SerialNo=C40JRRRA
 Config={ Fixed }
 RawCHS=4962/16/63, TrkSize=0, SectSize=0, ECCbytes=20
 BuffType=3(DualPortCache), BuffSize=256kB, MaxMultSect=16, MultSect=16
 DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2
 CurCHS=4962/16/63, CurSects=5001696, LBA=yes, LBAsects=5001728
 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 *mword2
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4

/dev/hdb:
 multcount = 16 (on)
 I/O support = 1 (32-bit)
 unmaskirq = 1 (on)
 using_dma = 1 (on)
 keepsettings = 1 (on)
 nowerr = 0 (off)
 readonly = 0 (off)
 readahead = 8 (on)
 geometry = 25249/16/63, sectors = 25450992, start = 0

 Model=Maxtor 91303D6, FwRev=GAS54112, SerialNo=A609WPDC
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=29
 BuffType=3(DualPortCache), BuffSize=512kB, MaxMultSect=16, MultSect=16
 DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=25450992
 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 *mword2
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4
 UDMA modes: mode0 mode1 mode2

/dev/hdc:
 multcount = 16 (on)
 I/O support = 1 (32-bit)
 unmaskirq = 1 (on)
 using_dma = 1 (on)
 keepsettings = 1 (on)
 nowerr = 0 (off)
 readonly = 0 (off)
 readahead = 8 (on)
 geometry = 5244/16/63, sectors = 71346240, start = 0

 Model=Maxtor 93652U8, FwRev=FA550480, SerialNo=M0000000
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
 BuffType=3(DualPortCache), BuffSize=2048kB, MaxMultSect=16, MultSect=16
 DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=0
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=71346240
 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 *mword2
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4
 UDMA modes: mode0 mode1 mode2 mode3 mode4

/dev/hdd:
 multcount = 16 (on)
 I/O support = 1 (32-bit)
 unmaskirq = 1 (on)
 using_dma = 1 (on)
 keepsettings = 1 (on)
 nowerr = 0 (off)
 readonly = 0 (off)
 readahead = 8 (on)
 geometry = 39560/16/63, sectors = 39876480, start = 0

 Model=Maxtor 92048U8, FwRev=VA510PF0, SerialNo=W805Y9LA
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
 BuffType=3(DualPortCache), BuffSize=2048kB, MaxMultSect=16, MultSect=16
 DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=0
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=39876480
 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 *mword2
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4
 UDMA modes: mode0 mode1 mode2 mode3 mode4

The motherboard I'm using is a Spacewalker/Shuttle HOT-557 v1.5 with
latest BIOS. This motherboard is 430VX chipset based and is supposed to
support PIO mode 4/DMA mode 2. It hangs trying to detect the 93652U8,
so I have it autodetect only hda and let Linux find everything else.

Now, what I'm seeing is a wide variety of performance results (via hdparm
-t), depending on where the harddrives are logically placed.

The following chart will demonstrate, I hope. I'll list by size.

Config 1:
hda: 2442: 8.43 MB/sec
hdb: 12427: 10.13 MB/sec
hdc: 19470: 6.96 MB/sec
hdd: 34837: 7.49 MB/sec

Config 2:
hda: 2442: 8.43 MB/sec
hdb: 12427: 10.14 MB/sec
hdc: 34837: 8.56 MB/sec
hdd: 19470: 6.69 MB/sec

Config 3:
hda: 2442: 8.43 MB/sec
hdb: 34837: 8.48 MB/sec
hdc: 12427: 10.19 MB/sec
hdd: 19470: 6.72 MB/sec

Config 4:
hda: 2442: 8.43 MB/sec
hdb: 34837: 8.50 MB/sec
hdc: 19470: 6.96 MB/sec
hdd: 12427: 7.49 MB/sec

To be honest, almost no tweaking of hdparm really makes a difference,
except to change PIO modes down to something below 4, which slows things
down, of course.

Also, I'm somewhat regularly getting:
hdd: irq timeout: status=0xd0 { Busy }
ide1: reset: success

Same on hdc.

I've swapped cables, moved power connectors around, etc. I've seen similar
performance issues before I got the 34837 drive and was using a 3G IBM. I
figured I'd try all the same brand and see what that did.

If I move the 19470 drive to hdb, all hell breaks loose. Lots of drive not
ready/seek type errors just doing a "du -s". Didn't explore other things
too much at that point; I felt I was going to lose my file systems if I
wasn't careful, and I just didn't want to deal with that at this point.

So, is the performance issue I'm seeing with the 19470 drive due to it
getting ready to go out on me? Is this a piece of crap motherboard (hey, I
got it for free, so no complaints)?

Also, when booting, and it says:
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio

With this motherboard and these drives, should I expect to see DMA in there
anywhere instead of pio? I thought I had all of the correct tuning options
turned on in the kernel. But since those say BIOS settings, and BIOS
really doesn't even know about the other drives, I'm wouldn't be too
surprised.

Thanks,
mrc

-- 
       Mike Castle       Life is like a clock:  You can work constantly
  dalgoda@ix.netcom.com  and be right all the time, or not work at all
www.netcom.com/~dalgoda/ and be right at least twice a day.  -- mrc
    We are all of us living in the shadow of Manhattan.  -- Watchmen

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 23 2000 - 21:00:20 EST