[6136] in linux-scsi channel archive
Re: Guru required: BUSY status
daemon@ATHENA.MIT.EDU (Marc SCHAEFER)
Fri Mar 19 18:08:22 1999
Date: Sat, 20 Mar 1999 00:01:08 +0100 (MET)
From: Marc SCHAEFER <schaefer@alphanet.ch>
To: Gerard Roudier <groudier@club-internet.fr>
cc: linux-scsi@vger.rutgers.edu
In-Reply-To: <Pine.LNX.3.95.990319230047.786A-100000@localhost>
On Fri, 19 Mar 1999, Gerard Roudier wrote:
> > 250 ms (250 millisecond).
>
> The SCSI selection/reselection procedure on SCSI requires all the SCSI
> agents connected to the BUS to follow some specified timings. When a
> device is too wrong with regards to these timings, wrong selection /
> relection may occur: for example, 2 targets beleiving that they have been
> selected by the initiator.
Yes, that's the SCSI reselection abort time (the 200us). However,
selection or reselection timeout is (recommended) at 250 ms.
> The selection procedure is normally handled by some controller core, since
> the C code will not be accurate enough or fast enough to ensure the
> required timings to be within the allowed range.
> What you want to do after a BUSY status is to requeue the command later.
> The problem is 'when ?'. Most SCSI sub-systems and not only Linux-scsi
> just requeue the command immediately and doing so just floods everything .
> This is probably close to the worst thing to do, but it is done.
When I design SCSI initiators (in embedded systems, not running Linux),
I usually retry after *some time*. One value I like is the same as
the selection timeout, so 250 ms. And I usually retry some times.
One example is the SONY SDT-9000, which cannot answer selection without
a BUSY quickly after SCSI RESET. Alternatively you can code in hard
the delay after SCSI RESET, but it might only solve some of your
problems.
NB: some of my answers have not yet shown on linux-scsi for some
reason, notably the clarification between the reselection
timeout and the reselection abort timeout.
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu