public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vojtech Pavlik <vojtech@suse.cz>
To: Claas Langbehn <claas@rootdir.de>
Cc: linux-kernel@vger.kernel.org, andre@linux-ide.org, chb@muc.de
Subject: Re: [2.6.0-test11] VIA IDE DMA problems with sleeping harddisk
Date: Wed, 17 Dec 2003 19:46:06 +0100	[thread overview]
Message-ID: <20031217184606.GA20168@ucw.cz> (raw)
In-Reply-To: <20031216143808.GA11517@rootdir.de>

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

      reply	other threads:[~2003-12-17 19:46 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20031217184606.GA20168@ucw.cz \
    --to=vojtech@suse.cz \
    --cc=andre@linux-ide.org \
    --cc=chb@muc.de \
    --cc=claas@rootdir.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox