linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Jeff Garzik <jgarzik@pobox.com>
Cc: Gregor Jasny <gjasny@googlemail.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-ide@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: Linux v2.6.22-rc3
Date: Fri, 01 Jun 2007 11:19:28 +0900	[thread overview]
Message-ID: <465F8230.2040105@gmail.com> (raw)
In-Reply-To: <alpine.LFD.0.98.0705311830360.26602@woody.linux-foundation.org>

Hello,

Linus Torvalds wrote:
> On Fri, 1 Jun 2007, Tejun Heo wrote:
>> Gregor's cdrom has broken SRST support which is extremely rare and
>> broken.
> 
> Well, the concept is neither rare nor arguably all that broken. 
> 
> The paper standards floating around in the industry are so much toilet 
> paper. The only standard that seems to really matter is what Windows has 
> traditionally done. We may not like it, but there it is...
> 
> This bites us more when it comes to the real el-cheapo stuff, notably when 
> it comes to various USB mass storage things (which have some random 
> USB->flash controller cobbled together by a senile llama on crack), and is 
> almost unheard of for anythign that is "server-grade", but when it comes 
> to no-brand random devices, it really does tend to be the case that the 
> only testing they ever had was using Windows.
> 
> And hardware is seldom any different from software: if it wasn't tested, 
> it probably doesn't work.

Yeap, agreed.  SRST on PATA works on most devices tho.  This device is
the first reported one which genuinely doesn't like SRST itself but we
also had a case where a device doesn't report proper diagnostic code and
another one which reports incorrect device class code.

Hardreset on SATA works better because it's much more integral part of
the protocol.  SRST also seems to work better but there is an emulated
PMP device which craps itself if SRST is issued to it.

> So it would be good if somebody knew what the Windows ID/startup sequence 
> was/is. I think we figured it out by trial-and-error for the USB mass 
> storage stuff. But it tends to boil down to: don't do things that aren't 
> absolutely required (for SCSI, it was things like not asking for mode 
> pages that weren't absolutely required, because some devices wouldn't 
> support it, and would simply lock up if you did so!)

Most BIOSen, Windows and old IDE driver don't reset at all during
probing.  They first issue IDENTIFY unconditionally, if that fails,
IDENTIFY_PACKET.  From the beginning, libata has issued reset during
probing.  We've had a few problems regarding this but they have been
worked around successfully till now.  One of the upsides of doing reset
during probing is that the reset code path gets tested a lot and libata
is more likely to recover properly after error conditions.  With SATA,
this is getting more important because errors are much more common and
happen occasionally even on perfectly healthy machines.

As libata gets much wider userbase including old/weird PATA devices, we
seem to be facing more of these broken devices.  We may be reaching the
point where the benefit of doing reset during probing isn't worth the
price we have to pay, at least on PATA.

Jeff, what do you think?

-- 
tejun

  reply	other threads:[~2007-06-01  2:20 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <alpine.LFD.0.98.0705252008210.26602@woody.linux-foundation.org>
2007-05-27 15:01 ` Linux v2.6.22-rc3 Gregor Jasny
2007-05-27 15:06   ` Jeff Garzik
2007-05-27 16:07     ` Gregor Jasny
2007-05-27 16:24       ` Linus Torvalds
2007-05-27 20:15         ` Gregor Jasny
2007-05-28  9:47           ` Tejun Heo
2007-05-28 14:07             ` Gregor Jasny
2007-05-29  9:28               ` Tejun Heo
2007-05-29 15:19                 ` Gregor Jasny
2007-05-29 16:44                 ` Linus Torvalds
2007-06-01  0:58                   ` Tejun Heo
2007-06-01  1:37                     ` Linus Torvalds
2007-06-01  2:19                       ` Tejun Heo [this message]
2007-06-01 16:50                         ` Jeff Garzik
2007-06-01 17:04                           ` Linus Torvalds
2007-06-01 17:35                             ` Jeff Garzik
2007-06-01 17:59                               ` Linus Torvalds
2007-06-01 18:20                                 ` Dave Jones
2007-06-01 18:30                                   ` Linus Torvalds
2007-06-01 18:46                                     ` Dave Jones
2007-06-01 18:41                                 ` Jeff Garzik
2007-06-01 18:48                                   ` Jeff Garzik
2007-06-02  7:50                                   ` Tejun Heo
2007-05-28 21:50     ` Bill Davidsen
2007-06-02 16:11   ` [PATCH] " Jeff Garzik
2007-06-03 17:46     ` Gregor Jasny
2007-06-06  8:46       ` Tejun Heo
2007-06-07  6:22         ` Gregor Jasny
2007-06-07  7:27           ` Tejun Heo
2007-06-07 20:37             ` Gregor Jasny
2007-06-07 20:56             ` Linus Torvalds
2007-06-07 22:39               ` Alan Cox
2007-06-07 22:47               ` Jeff Garzik
2007-06-08  8:02                 ` Tejun Heo
2007-06-08 11:27                   ` Alan Cox
2007-06-08 11:32                     ` Tejun Heo
2007-06-08 11:40                       ` Alan Cox
2007-06-08 14:28                         ` Jeff Garzik
2007-06-08 15:36                           ` Alan Cox
2007-06-08 15:32                             ` Jeff Garzik
2007-06-08 15:46                               ` Alan Cox
2007-06-08 15:49                                 ` Jeff Garzik
2007-06-08 15:59                                   ` Alan Cox
2007-06-08 14:31                   ` Jeff Garzik
2007-06-08 15:38                     ` Alan Cox
2007-06-08 15:35                       ` Jeff Garzik
2007-06-08 15:44                         ` Alan Cox
2007-06-09 18:12                 ` Linus Torvalds
2007-06-09 19:03                   ` Jeff Garzik
2007-06-10  5:26                     ` [PATCH] libata: limit post SRST nsect/lbal wait to ~100ms Tejun Heo
2007-06-10 16:23                       ` Jeff Garzik
2007-06-11  4:59                       ` Jeff Garzik
2007-06-08 15:55             ` [PATCH] Re: Linux v2.6.22-rc3 Jeff Garzik

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=465F8230.2040105@gmail.com \
    --to=htejun@gmail.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=gjasny@googlemail.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.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).