lkml.org 
[lkml]   [2003]   [Dec]   [17]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 17 Dec 2003 19:46:06 +0100
FromVojtech Pavlik <>
SubjectRe: [2.6.0-test11] VIA IDE DMA problems with sleeping harddisk
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
-
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 12:59    [from the cache]
©2003-2008