From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264442AbTLCBHm (ORCPT ); Tue, 2 Dec 2003 20:07:42 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264460AbTLCBHm (ORCPT ); Tue, 2 Dec 2003 20:07:42 -0500 Received: from smtp.irisa.fr ([131.254.130.26]:34742 "EHLO smtp.irisa.fr") by vger.kernel.org with ESMTP id S264442AbTLCBHh (ORCPT ); Tue, 2 Dec 2003 20:07:37 -0500 Message-ID: <3FCD456E.2070104@free.fr> Date: Wed, 03 Dec 2003 02:07:42 +0000 From: shal User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031029 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Bartlomiej Zolnierkiewicz Cc: linux-kernel@vger.kernel.org Subject: Re: via82cxxx, DMA and performance problem References: <3FCCB0F4.9010907@free.fr> <200312022023.57528.bzolnier@elka.pw.edu.pl> In-Reply-To: <200312022023.57528.bzolnier@elka.pw.edu.pl> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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