From: Mark Lord <liml@rtr.ca>
To: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Mark Lord <lkml@rtr.ca>, Alan Cox <alan@lxorguk.ukuu.org.uk>,
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
Suleiman Souhlal <ssouhlal@freebsd.org>,
linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] Make the IDE DMA timeout modifiable
Date: Fri, 13 Jul 2007 17:00:18 -0400 [thread overview]
Message-ID: <4697E7E2.70303@rtr.ca> (raw)
In-Reply-To: <4697DAAE.5090704@ru.mvista.com>
Sergei Shtylyov wrote:
> Mark Lord wrote:
> ..
>> I would guess simply because DMA has to transfer up to 256 sectors of
>> data,
>> possibly with sector reallocations, in addition to waiting for the drive
>> to spin up. Other commands don't.
>
> What?! PIO commands don't have to do this as well? :-)
"Other commands" don't have to transfer up to 256 sectors before interrupting.
>> At the time that was coded (?), I suspect that PIO READ/WRITE commands
>> were fed data as it became available to/from the drive. This may or may
>
> I don't see *any* difference with the DMA commands here -- the drive
> has always been free to assert and deassert DMARQ at its well.
Yeah, but that's not what our software timeout is for.
The timeout is for the next interrupt, which will only
be given (for DMA) once the drive completes *all* transfers.
>> not still be the case, but it does imply that they don't need to hang
>> around as long on the timeouts as do DMA commands (which have to wait
>> for *everything* to be transferred).
>
> Ah, that makes sense -- during PIO interrupts happen a lot more often.
> 20 secs still seem to be too much.
I don't think so, even for modern drives.
Figure 8-10 seconds max for spin-up,
plus 6-9 seconds to do a sector re-assignment
or retries on a bad block (a measured *real-life* value).
That adds up to 14-19 seconds, so 20 seconds is probably good.
Still, this does need to be adjustable for faster (CF) devices,
and slower (optical/tape) devices, rather than just a single
set of fixed timeout values.
Cheers
> PS: Your mail server still keeps bouncing me off. :-(
PS: your mail server still looks like a spammer, because it is
(1) missing a reverse DNS entry for 63.81.120.155,
and (2) is not RFC compliant on the SMTP "HELO" message
(bad hostname given there).
next prev parent reply other threads:[~2007-07-13 21:00 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-21 1:19 [PATCH 1/3] Make the IDE DMA timeout modifiable Suleiman Souhlal
2007-02-21 1:44 ` Bartlomiej Zolnierkiewicz
2007-02-21 2:13 ` Suleiman Souhlal
2007-02-21 2:42 ` Bartlomiej Zolnierkiewicz
2007-06-12 19:11 ` Sergei Shtylyov
2007-06-15 23:23 ` Bartlomiej Zolnierkiewicz
2007-07-10 19:10 ` Sergei Shtylyov
2007-07-13 15:16 ` Alan Cox
2007-07-13 15:12 ` Mark Lord
2007-07-13 15:21 ` Sergei Shtylyov
2007-07-13 19:36 ` Mark Lord
2007-07-13 19:40 ` Sergei Shtylyov
2007-07-13 19:46 ` Mark Lord
2007-07-13 20:03 ` Sergei Shtylyov
2007-07-13 21:00 ` Mark Lord [this message]
2007-07-16 19:29 ` Rogier Wolff
2007-07-17 14:18 ` Sergei Shtylyov
2007-07-13 20:08 ` Sergei Shtylyov
2007-07-13 20:54 ` Mark Lord
2007-07-13 21:00 ` Mark Lord
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=4697E7E2.70303@rtr.ca \
--to=liml@rtr.ca \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@rtr.ca \
--cc=sshtylyov@ru.mvista.com \
--cc=ssouhlal@freebsd.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;
as well as URLs for NNTP newsgroup(s).