IDE DMA getting turned off...

Dan Yocum (yocum@fnal.gov)
Tue, 26 Oct 1999 09:45:42 -0500


Andre, Andries, Mark,

Well, we've run into a brand new IDE problem: disk DMA is getting turned off
mysteriously. Here's one way to reproduce the problem: do a 'hdparm -S 1
/dev/hdX', wait about a minute then try to write to the disk. The write speed
is about 3MB/s (ouch!) and this is the error message:

hdc: timeout waiting for DMA
hdc: irq timeout: status=0xd2 { Busy }
hdc: DMA disabled
hdd: DMA disabled
Oct 24 08:09:30 fnpc229 kernel: hdc: timeout waiting for DMA
Oct 24 08:09:30 fnpc229 kernel: hdc: irq timeout: status=0xd2 { Busy }
Oct 24 08:09:30 fnpc229 kernel: hdc: DMA disabled
Oct 24 08:09:30 fnpc229 kernel: hdd: DMA disabled
ide1: reset: success
Oct 24 08:09:31 fnpc229 kernel: ide1: reset: success

Looking at the status of said drive 'hdparm -C /dev/hdX' shows the the DMA to
be turned off and running bonnie proves it - the performance is horrible.

So, we set the standby mode to off (i.e., 'hdparm -S 0' and it never spins the
drive down) and try to write to the disk - at some point in the future after
turning DMA on, DMA gets turned off for no obvious reason.

This is a big deal to us since we require the read/write speed to exceed
6MB/sec (and of course it would be nice if it was in the 14-15MB/s range).

Any ideas?

Here's the specifics of the 2 drives we're using. The WD disks are on an
Intel Lancewood MB, the Maxtor's are on an ASUS P2BD:

/dev/hdc:

Model=Maxtor 91700U5, FwRev=MA540RR0, SerialNo=C5H00JXC
Config={ Fixed }
RawCHS=32972/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=3(DualPortCache), BuffSize=2048kB, MaxMultSect=16, MultSect=off
DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=0(slow)
CurCHS=32972/16/63, CurSects=33235776, LBA=yes, LBAsects=33235776
tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2
IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4

/dev/hdc:

Model=WDC AC418000D, FwRev=J78OA30K, SerialNo=WD-WT669
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=34960/16/63, TrkSize=0, SectSize=0, ECCbytes=34
BuffType=3(DualPortCache), BuffSize=1966kB, MaxMultSect=16, MultSect=off
DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
CurCHS=34960/16/63, CurSects=35239680, LBA=yes, LBAsects=35239680
tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2
IORDY=on/off, tPIO={min:240,w/IORDY:120}, PIO modes: mode3 mode4

Thanks, in advance, for the help.

Dan

___________________________________________________________________________
Dan Yocum | Phone: (630) 840-8525
Linux Research and Development | Fax: (630) 840-6345
Computing Division, OSS Dept. | email: yocum@fnal.gov .~. L
Fermi National Accelerator Lab | WWW: www-oss.fnal.gov/~yocum/ /V\ I
P.O. Box 500 | // \\ N
Batavia, IL 60510 | "TANSTAAFL" /( )\ U
________________________________|_________________________________ ^`~'^__X_

-
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/