From: Serguei Miridonov <mirsev@cicese.mx>
To: Robert Hancock <hancockrwd@gmail.com>
Cc: linux-kernel@vger.kernel.org, Jeff Garzik <jeff@garzik.org>,
Tejun Heo <tj@kernel.org>
Subject: Re: Intel ICH9M/M-E SATA error-handling/reset problems
Date: Sun, 15 Feb 2009 13:55:32 -0800 [thread overview]
Message-ID: <200902151355.32596.mirsev@cicese.mx> (raw)
In-Reply-To: <499877C5.6090205@gmail.com>
On Sunday 15 February 2009, Robert Hancock wrote:
> Right now interface CRC error is considered an ATA bus error which
> always triggers a reset.
Well, my very strong opinion based just on general physics is that
error rate on SATA can be (and will be) much higher than that one on
PATA. PATA operates at lower frequencies and cables are much shorter.
eSATA cables are longer and work at up to 3Gb/s. Moreover, consider
all these consumer-grade connectors, cables, etc. So, CRC errors could
be quite common and software needs to handle them properly to keep
transfers fast and maintain the communication with a device.
> It's possible this could be relaxed in
> some cases, but the issue is that if CRC errors are occurring the
> link may be in an invalid state which simply retrying the command
> will not clear.
Let's think positively ;-). If CRC error occurs (in data or command
sequence), the device just doesn't accept what it receives with the
last transfer. So, it should wait what host says next. I think, before
doing hard reset or whatever is necessary to completely restart the
interface together with connected device - before doing that the
kernel should try to check if link is up and the device is listenning.
Why not to try a short request to let the device send something short
in response?
> Tejun, any thoughts?
>
> > Another question is how the drive reacts to hard reset... My
> > error log shows that both drives do not like it for some reason -
> > they stop responding sometimes, so may be some additional
> > programming of drives is necessary after hard reset... Something
> > which is done in BIOS after power on... I don't know...
>
> The same hard reset is done (and generally has to be done) on
> driver initialization and when a drive is hot plugged, so it should
> work.
It depends... If hard reset is like a reboot for the driver firmware,
it may take more that 30 seconds for Seagate external drive, though
I'm not sure... Trying to push the interaface before the device is
ready to receive commands may be considered by the drive as link
problem and it may refuse to communicate. Well, again, I'm not
familiar with this, just speculating...
> > ... Could you point me a link to the uncompressed
> > kernel tree where I can see source files?
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git is
> likely the easiest place to view..
Thank you, I'll take a look.
next prev parent reply other threads:[~2009-02-15 21:56 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-14 20:06 Serguei Miridonov
2009-02-14 20:53 ` Jeff Garzik
2009-02-14 22:01 ` Robert Hancock
2009-02-15 18:00 ` Serguei Miridonov
2009-02-15 18:04 ` Robert Hancock
2009-02-15 19:41 ` Serguei Miridonov
2009-02-15 20:15 ` Robert Hancock
2009-02-15 21:55 ` Serguei Miridonov [this message]
2009-02-16 2:11 ` Tejun Heo
2009-02-16 16:17 ` Serguei Miridonov
2009-02-19 6:29 ` 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=200902151355.32596.mirsev@cicese.mx \
--to=mirsev@cicese.mx \
--cc=hancockrwd@gmail.com \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@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
all inboxes | Powered by JetHome®