From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Robert Hancock <hancockr@shaw.ca>
Cc: Mark Lord <liml@rtr.ca>, Alan Cox <alan@redhat.com>,
Tejun Heo <htejun@gmail.com>, Jeff Garzik <jgarzik@pobox.com>,
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
ide <linux-ide@vger.kernel.org>
Subject: Re: PIO with SSDs: needs a long DRQ-after-command timeout for WRITEs
Date: Wed, 31 Dec 2008 21:03:52 +0300 [thread overview]
Message-ID: <495BB408.7000608@ru.mvista.com> (raw)
In-Reply-To: <495BACD2.6020500@shaw.ca>
Hello.
Robert Hancock wrote:
>>> No idea about IDE, but libata does not wait at all for DRQ assertion
>>> specifically, after issuing the PIO command it waits for BSY to be
>>> deasserted and then expects either DRQ, DF or ERR to be set, else
>>> it's a host state machine violation and triggers error handling.
>>> According to the ATA spec, the device is specifically not allowed to
>>> set DRQ to one while BSY is not asserted.
>> ..
>> Okay, so how long does it wait for BSY=0 under that same circumstance?
> Just the overall command completion timeout, it would appear.. usually
> 30 seconds I believe.
I don't think it's as long as that with libata.
> IDE is really only waiting 50msec in this case? That seems rather
> wrong.. I don't see anywhere in the current ATA specs that requires the
> drive to respond within that time period.
It's waiting the whole 50 ms where the maximum specified by the original
ATA was 20 ms. What seems really wrong to me is making the host poll for BSY=0
for an indeterminate time -- though it's always been a really stupid part of
the ATA command protocol. Well, at least it never stroke anybody before those
insane SSDs appeared on market. :-)
WBR, Sergei
next prev parent reply other threads:[~2008-12-31 18:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-30 13:53 PIO with SSDs: needs a long DRQ-after-command timeout for WRITEs Mark Lord
2008-12-30 13:59 ` Alan Cox
2008-12-31 16:29 ` Mark Lord
2008-12-31 18:38 ` Bartlomiej Zolnierkiewicz
2008-12-31 20:30 ` Mark Lord
2008-12-30 18:14 ` Robert Hancock
[not found] ` <495B9D31.6080904@rtr.ca>
2008-12-31 17:33 ` Robert Hancock
2008-12-31 18:03 ` Sergei Shtylyov [this message]
2008-12-31 18:06 ` Sergei Shtylyov
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=495BB408.7000608@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=alan@redhat.com \
--cc=bzolnier@gmail.com \
--cc=hancockr@shaw.ca \
--cc=htejun@gmail.com \
--cc=jgarzik@pobox.com \
--cc=liml@rtr.ca \
--cc=linux-ide@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;
as well as URLs for NNTP newsgroup(s).