Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Sep 1998 16:08:58 -0700
From:      Mike Smith <mike@smith.net.au>
To:        Karl Denninger <karl@Denninger.Net>
Cc:        Tom <tom@uniserve.com>, Dan Nelson <dnelson@emsphone.com>, Alfred Perlstein <bright@hotjobs.com>, current@FreeBSD.ORG
Subject:   Re: Long IDE probes? 
Message-ID:  <199809302308.QAA03912@dingo.cdrom.com>
In-Reply-To: Your message of "Wed, 30 Sep 1998 13:04:59 CDT." <19980930130459.A4393@Denninger.Net> 

next in thread | previous in thread | raw e-mail | index | archive | help

Karl: Rule 1, read the documentation, and then the source, before 
firing from the lip.

> On Wed, Sep 30, 1998 at 11:00:45AM -0700, Tom wrote:
> > 
> > On Wed, 30 Sep 1998, Karl Denninger wrote:
> >   Yes, newer machines.  The BIOS doesn't need to do that.  I have a CDROM
> > in an older machine here, and the BIOS doesn't grok it at all.  Basically,
> > the BIOS display is informational only (except for the boot disk).
> 
> Yes, and so waiting 30 seconds for an IDE probe does exactly what?  Do you
> know of any IDE device which requires 30 seconds to come ready and be able
> to be probed?

Recall that the 'wd' driver supports the entire range of WD1003
compatible devices, including the WD1003.

Some of these devices can take some time to come ready after a reset 
(they are reset as part of the probe).  We allow this long for the 
device to respond before assuming it's not there.

The default delay is 10 seconds; a value determined empirically as "long
enough".  There is no "standard" for this delay, as the implementation
spans a wide range of hardware, much of it undocumented.

> The point is that once the BIOS has found the disk and *booted from it*, you
> then *KNOW* that it is available and online (duh!).  Second, the delay on
> the SCSI side is only for the disk to respond to an inquiry - as long as
> that happens the rest will be ok.

Unfortunately, there used to be no way of mapping what the BIOS "knows"
onto what the kernel probes need to know.  In many systems there still 
is no way to know this.

> The IDE delays are far, far too long, unless someone can convince me that
> *after booting* a device would require *another* 30 seconds to come ready
> (remember, we're talking after power-on, not from the time the kernel is
> done loading).

It's actually 10 seconds per channel, or 20 seconds per controller, and 
it's the delay for the DIAGNOSE command to complete.  You are welcome 
to peruse the ATA documentation in an attempt to determine what is 
"supposed" to be done, however you will quickly become familiar with 
the phrase "no maximum time is specified", presuming you can find the 
relevant sections (which are not where you expect them to be).

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809302308.QAA03912>