* [2.6.0-test11] VIA IDE DMA problems with sleeping harddisk
@ 2003-12-16 14:38 Claas Langbehn
2003-12-17 18:46 ` Vojtech Pavlik
0 siblings, 1 reply; 2+ messages in thread
From: Claas Langbehn @ 2003-12-16 14:38 UTC (permalink / raw)
To: linux-kernel; +Cc: andre, chb
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [2.6.0-test11] VIA IDE DMA problems with sleeping harddisk
2003-12-16 14:38 [2.6.0-test11] VIA IDE DMA problems with sleeping harddisk Claas Langbehn
@ 2003-12-17 18:46 ` Vojtech Pavlik
0 siblings, 0 replies; 2+ messages in thread
From: Vojtech Pavlik @ 2003-12-17 18:46 UTC (permalink / raw)
To: Claas Langbehn; +Cc: linux-kernel, andre, chb
On Tue, Dec 16, 2003 at 03:38:08PM +0100, Claas Langbehn wrote:
> 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).
This is normal. UDMA/133 chipsets often don't support 100MB/sec, because
it's not possible with a 266 MHz clock, so instead you get 88.8MB/sec,
which is the closest lower value achievable.
> 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?
DMA is enabled in the chipset but not used by the driver.
>
> - 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/
--
Vojtech Pavlik
SuSE Labs, SuSE CR
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-12-17 19:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-16 14:38 [2.6.0-test11] VIA IDE DMA problems with sleeping harddisk Claas Langbehn
2003-12-17 18:46 ` Vojtech Pavlik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).