Linux 2.X trees are tested with memory sent from the buffer cache to the
disk I/O subsystem aligned on 512-byte boundries.   This error is
typically seen is someone is passing memory via calls to ll_rw_blk()
that are not at a minimum 512-byte aligned, which can result in a wrap
case that will hang the IDE DMA controller.  Linux I do not believe has
been tested with any other alignment.  When I first saw these errors
when I was writing my own LRU for the NWFS file system, alignment was
the cause.  

:-)

Jeff

[EMAIL PROTECTED] wrote:
> 
> I get this when DMA is enabled:
> 
> Oct 20 15:39:07 cr753963-a kernel: hdb: timeout waiting for DMA
> Oct 20 15:39:07 cr753963-a kernel: hdb: irq timeout: status=0x6e {
> DriveReady DeviceFault DataRequest CorrectedError Index }
> ide0: reset: success
> Oct 20 15:39:07 cr753963-a kernel: hdb: DMA disabled
> Oct 20 15:39:07 cr753963-a kernel: ide0: reset: success
> 
> It only happens when there lots of data is being transferred, or compiled
> on the drive.. The drive status is this:
> 
> /dev/hdb:
> 
>  Model=Maxtor 82560A4, FwRev=AA8Z2726, SerialNo=C40LTQGA
>  Config={ Fixed }
>  RawCHS=4962/16/63, TrkSize=0, SectSize=0, ECCbytes=20
>  BuffType=DualPortCache, BuffSize=256kB, MaxMultSect=16, MultSect=off
>  CurCHS=4962/16/63, CurSects=5001696, LBA=yes, LBAsects=5001728
>  IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
>  PIO modes: pio0 pio1 pio2 pio3 pio4
>  DMA modes: mdma0 mdma1 *mdma2
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to