Re: (HPT372A) DMA/Interrupt problems, again

From: Tomi Orava (tomimo+linux-kernel_at_ncircle.nullnet.fi)
Date: 11/10/03

  • Next message: Daniel B.: "loop device lockup bugs in 2.4.18? (hangs with multiCD --noburn=1)"
    Date:	Mon, 10 Nov 2003 17:10:17 +0200 (EET)
    To: "Gavin Baker" <gavbaker@linuxmail.org>
    
    

    > I have an Highpoint "RocketRaid 133" dual channel PCI IDE "raid"
    > controller that uses an HPT372A.

    > hdg: status timeout: status=0xd0 {Busy}
    >
    > hdg: DMA disabled
    > hdg: drive not ready for command
    > ide3: reset: master: error (0x00?)
    > hdg: status timeout: status=0xd0 {Busy}
    >
    > hdg: drive not ready for command
    > ide3: reset: master: error (0x00?)
    > end-request: I/O error, dev hdg, sector xxxxxx
    > EXT3-fs error (device md0): ext3_get_inode_loc: unable to read inode
    > block - inode = xxxxxx, block = xxxxxx

    There was some discussion couple of weeks ago about a
    similar problem with HPT374-controller. However, we did not
    find a solution for this problem, even though there was a 3-4
    persons who had seen this problem with different hardware
    configuration.

    I'm starting to wonder if the case is not really about a problem
    in HPT366-driver but somewhere lower in IDE/interrupt code
    as I got the following errors just an hour ago, with Sil680-controller.

    The problem occurs only on _heavy_ I/O-access ie. whenever
    I'm updating Postresql database with lkml web-archive data for example.
    On normal/light use the system works just fine.

    Do other people see this error a lot ?

    Regards,
    Tomi Orava

    PS. Has anyone with enough knowledge about Linux memory handling
           checked if Mark Bellon's slab-patch (msg subject:
           "PATCH (2.4.x) - Interrupts disabled for a long time")
           might somehow affect these IDE-problems ? Didn't see
           any comments about the patch yet ...

    ----------------------------------------------------------------------------------
    hde: dma_timer_expiry: dma status == 0x21
    hde: error waiting for DMA
    hde: dma timeout retry: status=0x58 { DriveReady SeekComplete DataRequest }

    blk: queue c0466908, I/O limit 4095Mb (mask 0xffffffff)
    hde: dma_timer_expiry: dma status == 0x21
    hde: error waiting for DMA
    hde: dma timeout retry: status=0xd0 { Busy }

    hde: DMA disabled
    ide2: reset timed-out, status=0xd0
    hde: status timeout: status=0xd0 { Busy }

    hde: drive not ready for command
    ide2: reset timed-out, status=0xd0
    end_request: I/O error, dev 21:02 (hde), sector 58728019
    raid1: Disk failure on hde2, disabling device.
    ^IOperation continuing on 1 devices
    -------------------------------------------------------------------------------------

    The hardware in this case was:

    Epox 8K9A3+/1.4Mhz AMD/TB
    CMD/Sil 680 ide-controller:
    2xMAXTOR 6L060J3 (D740X)

    ----------------------------------------------------------------
    00:09.0 RAID bus controller: CMD Technology Inc PCI0680 (rev 01)
            Subsystem: CMD Technology Inc PCI0680
            Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
    ParErr- Stepping- SERR- FastB2B-
            Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort+
    <TAbort- <MAbort- >SERR- <PERR-
            Latency: 64, cache line size 01
            Interrupt: pin A routed to IRQ 17
            Region 0: I/O ports at 9000 [size=8]
            Region 1: I/O ports at 9400 [size=4]
            Region 2: I/O ports at 9800 [size=8]
            Region 3: I/O ports at 9c00 [size=4]
            Region 4: I/O ports at a000 [size=16]
            Region 5: Memory at df000000 (32-bit, non-prefetchable) [size=256]
            Expansion ROM at <unassigned> [disabled] [size=512K]
            Capabilities: [60] Power Management version 2
                    Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
    PME(D0-,D1-,D2-,D3hot-,D3cold-)
                    Status: D0 PME-Enable- DSel=0 DScale=2 PME-
    00: 95 10 80 06 07 00 90 0a 01 00 04 01 01 40 00 00
    10: 01 90 00 00 01 94 00 00 01 98 00 00 01 9c 00 00
    20: 01 a0 00 00 00 00 00 df 00 00 00 00 95 10 80 06
    30: 00 00 00 00 60 00 00 00 00 00 00 00 11 01 00 00
    40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    60: 01 00 22 06 00 40 00 64 00 00 00 00 00 00 00 00
    70: 00 00 20 00 00 50 e8 37 00 00 20 00 00 40 e8 37
    80: 03 00 00 00 03 00 00 00 00 00 11 00 00 00 00 00
    90: ec ff 01 09 ff ff ff 44 00 00 00 18 00 00 00 00
    a0: 01 60 8a 32 8a 32 dd 62 c1 10 92 43 01 40 09 40
    b0: 01 60 8a 32 8a 32 dd 62 c1 10 92 43 01 40 09 40
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

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


  • Next message: Daniel B.: "loop device lockup bugs in 2.4.18? (hangs with multiCD --noburn=1)"

    Relevant Pages

    • Re: HighPoint 374
      ... tagged command queueing enabled, ... hde: tagged command queueing enabled, ... hdg: timeout waiting for DMA ... hdg: drive_cmd: status=0x51 {DriveReady SeekComplete Error} ...
      (Linux-Kernel)
    • kernel > 2.4.18 and problems with UDMA
      ... After long time running with kernel 2.4.5 I decided to upgrade it ... hde: 0 bytes in FIFO ... hde: DMA disabled ... With kernel version 2.4.18 everything is ok, ...
      (comp.os.linux.hardware)
    • Re: Kaffeine Cannot Play DVD
      ... >> and downloaded and installed mplayer. ... >> mplayer line command. ... > You need to enable DMA for your DVD player. ...
      (alt.os.linux.suse)
    • [BK PATCHES] ide-2.6 update
      ... DMA cleanups/fixups that have been in -mm for almost a month. ... * and then issue the actual read/write DMA/PIO command to the drive. ... -static int ... -static int __pmac ...
      (Linux-Kernel)
    • [patch][1/3] ide: add ide_hwif_t->dma_setup()
      ... All that remains is to prepare for DMA ... and then issue the actual read/write DMA/PIO command to the drive. ... static int e100_dma_write ... struct request *rq = HWGROUP->rq; ...
      (Linux-Kernel)