From: Tejun Heo <htejun@gmail.com>
To: Ric Wheeler <ric@emc.com>
Cc: Jeff Garzik <jeff@garzik.org>,
linux-ide@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] libata: reduce ATA command timeout to 7secs
Date: Sat, 03 Feb 2007 00:12:15 +0900 [thread overview]
Message-ID: <45C354CF.1020500@gmail.com> (raw)
In-Reply-To: <45C33BCF.2040506@emc.com>
Ric Wheeler wrote:
>
> Tejun Heo wrote:
>
>> Both ATA and ATAPI devices used the default timeouts defined by SCSI
>> high level driver. For both disks and ODDs, it was 30secs, which was
>> way too long for disks. This patch makes most ATA commands time out
>> after 7secs - the de facto ATA command timeout, while leaving ATAPI
>> timeout at 30secs.
>>
>> Note that both normal commands and EH commands timeouts are adjusted
>> to 7 secs, but cache flushses still have 30sec timeout. This is a
>> side effect of the way sd makes use of sdev->timeout, but this is a
>> good side effect in that ATA spec requires cache flushes are given
>> longer timeout.
>>
>>
>>
>>
> I am not sure that this is really a requirement that ATA (or S-ATA)
> drives can meet. There are definitely error conditions that will exceed
> 7 seconds and take that 30 second time to respond.
>
> If the drive is stuck in recovery mode and we retry too soon, we are
> going to be likely to write off a perfectly good disk which would be a
> huge downside ;-)
Hmm... I'm hearing different stories here. Some say 7sec is good enough
and the supporting argument that the other os is using 7 sec timeout is
pretty convincing.
After command timeout, EH will kick in, reset and revalidate then return
the control to SCSI HLD, sd in this case which will retry the command
several times. Would the reset make the drive to exit recovery mode
such that it has to start all over again when the command is retried?
Or does the drive stop responding to resets while in recovery mode? The
latter would be fine. libata gives and will continue to give more than
30 secs for drive to respond to reset.
Ideas?
--
tejun
next prev parent reply other threads:[~2007-02-02 15:12 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-02 6:37 [PATCH] libata: reduce ATA command timeout to 7secs Tejun Heo
2007-02-02 10:08 ` Alan
2007-02-02 11:49 ` Tejun Heo
2007-02-02 13:25 ` Ric Wheeler
2007-02-02 15:12 ` Tejun Heo [this message]
2007-02-02 15:39 ` Alan
2007-02-02 16:13 ` Mark Lord
2007-02-02 16:43 ` Eric D. Mudama
2007-02-02 18:47 ` Alan
2007-02-02 23:00 ` Eric D. Mudama
2007-02-03 23:34 ` Ric Wheeler
2007-02-03 4:31 ` Tejun Heo
2007-02-03 19:59 ` Alan
2007-02-03 19:50 ` Mark Lord
2007-02-02 16:12 ` Mark Lord
2007-02-03 4:45 ` Tejun Heo
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=45C354CF.1020500@gmail.com \
--to=htejun@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=jeff@garzik.org \
--cc=linux-ide@vger.kernel.org \
--cc=ric@emc.com \
/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).