lkml.org 
[lkml]   [2003]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: via82cxxx, DMA and performance problem
    Bartlomiej Zolnierkiewicz wrote:
    > Hi,
    >
    > You trying to load VIA IDE chipset driver but your IDE devices
    > are already handled by generic IDE driver, thus you can't enable DMA.
    >
    > Changing host drivers on the fly is unsupported.
    >
    > If you want to use IDE chipset modules you should use IDE as module.

    Ok thank you for your response.

    I have included in the kernel the via82cxxx support.

    Now when I boot , it was very slow and I have this :

    ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
    VP_IDE: IDE controller at PCI slot 0000:00:11.1
    ACPI: No IRQ known for interrupt pin A of device 0000:00:11.1 - using
    IRQ 255
    VP_IDE: chipset revision 6
    VP_IDE: not 100% native mode: will probe irqs later
    ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
    VP_IDE: VIA vt8235 (rev 00) IDE UDMA133 controller on pci0000:00:11.1
    ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio
    hda: MAXTOR 6L040J2, ATA DISK drive
    hdb: Maxtor 83240D3, ATA DISK drive
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    hdc: CRD-8322B, ATAPI CD/DVD-ROM drive
    ide1 at 0x170-0x177,0x376 on irq 15
    hda: max request size: 128KiB
    hda: 78177792 sectors (40027 MB) w/1819KiB Cache, CHS=65535/16/63, UDMA(133)
    hda:<4>hda: dma_timer_expiry: dma status == 0x61
    hda: DMA timeout error
    hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }

    hda1 hda2 <<4>hda: dma_timer_expiry: dma status == 0x61
    hda: DMA timeout error
    hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }

    hda5<4>hda: dma_timer_expiry: dma status == 0x61
    hda: DMA timeout error
    hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }

    hda6 hda7<4>hda: dma_timer_expiry: dma status == 0x61
    hda: DMA timeout error
    hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }

    hda8 > hda3
    hdb: max request size: 128KiB
    hdb: 6329388 sectors (3240 MB) w/256KiB Cache, CHS=6697/15/63, UDMA(33)
    hdb: hdb1 hdb2
    hdc: ATAPI 32X CD-ROM drive, 128kB Cache, DMA
    Uniform CD-ROM driver Revision: 3.12


    Each dma_timer_expiry is long.


    I have this at boot :
    # hdparm /dev/hda
    /dev/hda:
    multcount = 16 (on)
    IO_support = 1 (32-bit)
    unmaskirq = 1 (on)
    using_dma = 0 (off)
    keepsettings = 0 (off)
    readonly = 0 (off)
    readahead = 256 (on)
    geometry = 65535/16/63, sectors = 78177792, start = 0
    # hdparm -tT /dev/hda
    /dev/hda:
    Timing buffer-cache reads: 924 MB in 2.01 seconds = 460.46 MB/sec
    Timing buffered disk reads: 20 MB in 3.08 seconds = 6.50 MB/sec



    When active dma the disk access freeze during a long time and I have
    this error :
    hda: dma_timer_expiry: dma status == 0x61
    hda: DMA timeout error
    hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }

    and the performance is the same :
    # hdparm -tT /dev/hda
    /dev/hda:
    Timing buffer-cache reads: 948 MB in 2.01 seconds = 472.42 MB/sec
    Timing buffered disk reads: 20 MB in 3.08 seconds = 6.50 MB/sec


    This is a part of my .config:
    #
    # IDE chipset support/bugfixes
    #
    # CONFIG_BLK_DEV_CMD640 is not set
    # CONFIG_BLK_DEV_IDEPNP is not set
    CONFIG_BLK_DEV_IDEPCI=y
    CONFIG_IDEPCI_SHARE_IRQ=y
    # CONFIG_BLK_DEV_OFFBOARD is not set
    # CONFIG_BLK_DEV_GENERIC is not set
    # CONFIG_BLK_DEV_OPTI621 is not set
    # CONFIG_BLK_DEV_RZ1000 is not set
    CONFIG_BLK_DEV_IDEDMA_PCI=y
    # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
    CONFIG_IDEDMA_PCI_AUTO=y
    # CONFIG_IDEDMA_ONLYDISK is not set
    # CONFIG_IDEDMA_PCI_WIP is not set
    CONFIG_BLK_DEV_ADMA=y
    # CONFIG_BLK_DEV_AEC62XX is not set
    # CONFIG_BLK_DEV_ALI15X3 is not set
    # CONFIG_BLK_DEV_AMD74XX is not set
    # CONFIG_BLK_DEV_CMD64X is not set
    # CONFIG_BLK_DEV_TRIFLEX is not set
    # CONFIG_BLK_DEV_CY82C693 is not set
    # CONFIG_BLK_DEV_CS5520 is not set
    # CONFIG_BLK_DEV_CS5530 is not set
    # CONFIG_BLK_DEV_HPT34X is not set
    # CONFIG_BLK_DEV_HPT366 is not set
    # CONFIG_BLK_DEV_SC1200 is not set
    CONFIG_BLK_DEV_PIIX=y
    # CONFIG_BLK_DEV_NS87415 is not set
    # CONFIG_BLK_DEV_PDC202XX_OLD is not set
    # CONFIG_BLK_DEV_PDC202XX_NEW is not set
    # CONFIG_BLK_DEV_SVWKS is not set
    # CONFIG_BLK_DEV_SIIMAGE is not set
    # CONFIG_BLK_DEV_SIS5513 is not set
    # CONFIG_BLK_DEV_SLC90E66 is not set
    # CONFIG_BLK_DEV_TRM290 is not set
    CONFIG_BLK_DEV_VIA82CXXX=y
    CONFIG_BLK_DEV_IDEDMA=y
    # CONFIG_IDEDMA_IVB is not set
    CONFIG_IDEDMA_AUTO=y
    # CONFIG_DMA_NONPCI is not set
    # CONFIG_BLK_DEV_HD is not set














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

    \
     
     \ /
      Last update: 2005-03-22 13:59    [W:0.031 / U:31.352 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site