linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Georgi Chulkov <g.chulkov@jacobs-university.de>,
	linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
	Mark Lord <liml@rtr.ca>
Subject: Re: ATA device reset, shoud I be concerned?
Date: Mon, 21 Jan 2008 23:31:11 +0900	[thread overview]
Message-ID: <4794ACAF.70505@gmail.com> (raw)
In-Reply-To: <20080121141425.45aa9c61@lxorguk.ukuu.org.uk>

Alan Cox wrote:
>> while IDE thinks that IRQ might be lost and complete the command if the
>> TF status register says so.
> 
> For PATA at least that makes a lot of sense. It would probably make the
> Promise driver a lot more stable too.

Can you elaborate a bit?  I don't really think completing a command
after 30sec timeout contributes a lot to driver stability.

>> It could be that the particular device doesn't raise IRQ on certain
>> error conditions but updates TF registers.  After timeout, IDE completes
>> the command with the indicated error while libata ignores the status and
>> resets the device.
> 
> And loses the important information like media errors
>  
>> libata never touches TF register after timeout because some controllers
>> lock up hard if TF register is read after certain error conditions
>> (event the status register).
> 
> Should that not then be a per host flag ?

Yeah, that would be the best.  The problem is that there are several
different kinds of timeouts and we don't know which controller locks up
after which timeout and investigating them is really difficult.

IMHO, losing media error information is much better than locking up a
machine hard.  We can start white listing known good controllers but I'm
skeptical how much benefit it will bring.

Thanks.

-- 
tejun

  reply	other threads:[~2008-01-21 14:31 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-13 22:19 ATA device reset, shoud I be concerned? Georgi Chulkov
2008-01-15 10:54 ` Andrew Morton
2008-01-15 11:35   ` Alan Cox
2008-01-21  7:56     ` Tejun Heo
2008-01-21 13:02       ` Alan Cox
2008-01-21 13:14         ` Tejun Heo
2008-01-21 14:14           ` Alan Cox
2008-01-21 14:31             ` Tejun Heo [this message]
2008-01-21 14:33               ` Tejun Heo
2008-01-21 16:44                 ` Alan Cox
2009-08-27  2:40                 ` Robert Hancock
2009-08-27  3:07                   ` Jeff Garzik
2009-08-27  8:37                   ` Alan Cox
2008-01-21 16:47               ` Alan Cox
2008-01-21 17:02                 ` Tejun Heo
2008-01-21 17:27                   ` Alan Cox
2008-01-22  0:31                     ` Tejun Heo
2008-01-22  1:31                   ` Bartlomiej Zolnierkiewicz
2008-01-22  1:36                     ` Tejun Heo
2008-01-22  2:08                       ` Tejun Heo
2008-01-22  1:39                     ` Alan Cox
2008-01-22 20:29   ` Georgi Chulkov

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=4794ACAF.70505@gmail.com \
    --to=htejun@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=g.chulkov@jacobs-university.de \
    --cc=liml@rtr.ca \
    --cc=linux-ide@vger.kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).