Messages in this thread | | | Date | Tue, 16 Dec 2003 15:38:08 +0100 | From | Claas Langbehn <> | Subject | [2.6.0-test11] VIA IDE DMA problems with sleeping harddisk |
| |
Hello,
I have got two harddiscs in my system (hda, hdb) and an CD-R/W writer as hdc. Both harddiscs are UDMA-100 drives. First of all, it is strange that the drives are only set to a transfer rate of 88.8 MB/s and not to 100MB/s (see below).
hdb is sleeping most of the time (hdparm -S), but when I need the drive, it does not spin up fast enough, so that the kernel messages say:
Dec 16 15:13:14 kernel: hdb: dma_timer_expiry: dma status == 0x61 Dec 16 15:13:24 kernel: hdb: DMA timeout error Dec 16 15:13:24 kernel: hdb: dma timeout error: status=0xd0 { Busy } Dec 16 15:13:24 kernel: Dec 16 15:13:24 kernel: hda: DMA disabled Dec 16 15:13:24 kernel: hdb: DMA disabled Dec 16 15:13:25 kernel: ide0: reset: success
In /proc/ide/via i see, that hda is using PIO now:
-------------------drive0----drive1----drive2----drive3----- Transfer Mode: PIO UDMA UDMA PIO Address Setup: 120ns 120ns 120ns 120ns Cmd Active: 90ns 90ns 90ns 90ns Cmd Recovery: 30ns 30ns 30ns 30ns Data Active: 90ns 90ns 90ns 330ns Data Recovery: 30ns 30ns 30ns 270ns Cycle Time: 120ns 22ns 60ns 600ns Transfer Rate: 16.6MB/s 88.8MB/s 33.3MB/s 3.3MB/s
When I re-enable DMA afterwards the messages say:
Dec 16 15:13:49 zoo kernel: blk: queue dfde1200, I/O limit 4095Mb (mask 0xffffffff)
- How do I increase the dma_timer_expiry so that DMA will not be disabled so fast? - Why does the kernel say "hdb: DMA disabled" but /proc/ide/via says that DMA was only disabled on hda? Is it a bug or is it enabled again without telling me? - Which workaround should be considered?
Regards, Claas
# cat /proc/ide/via (with DMA enabled)
----------VIA BusMastering IDE Configuration---------------- Driver Version: 3.38 South Bridge: VIA vt8235 Revision: ISA 0x0 IDE 0x6 Highest DMA rate: UDMA133 BM-DMA base: 0xdc00 PCI clock: 33.3MHz Master Read Cycle IRDY: 0ws Master Write Cycle IRDY: 0ws BM IDE Status Register Read Retry: yes Max DRDY Pulse Width: No limit -----------------------Primary IDE-------Secondary IDE------ Read DMA FIFO flush: yes yes End Sector FIFO flush: no no Prefetch Buffer: yes yes Post Write Buffer: yes yes Enabled: yes yes Simplex only: no no Cable Type: 80w 80w -------------------drive0----drive1----drive2----drive3----- Transfer Mode: UDMA UDMA UDMA PIO Address Setup: 120ns 120ns 120ns 120ns Cmd Active: 90ns 90ns 90ns 90ns Cmd Recovery: 30ns 30ns 30ns 30ns Data Active: 90ns 90ns 90ns 330ns Data Recovery: 30ns 30ns 30ns 270ns Cycle Time: 22ns 22ns 60ns 600ns Transfer Rate: 88.8MB/s 88.8MB/s 33.3MB/s 3.3MB/s
# uname -a Linux zoo 2.6.0-test11 #3 Mon Dec 1 19:57:51 CET 2003 i686 GNU/Linux
- 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/
| |