Lance,
On Thu, 19 Aug 1999, D. Lance Robinson wrote:
> Gerard,
>
> Thanks for your reply.
> It does look like the sym53c8xx driver does work with the newer
> completion code...at least it works when no errors happen. The
> corruption problem I saw happens after doing some error recovery. I need
> to explore more on this, but some bad things happen when a reset happens
> with queued requests in a device. They incorrectly get failed and the
> upper layers don't deal with that too well.
The newer SCSI code seems to expect immediate result from abort() driver
entry point. This does not allow the driver to send the appropriate
message (ABORT, ABORT_TAG) to the offending device.
As long as the middle SCSI code will try to deal with times-out, I will
not handle times-out from the drivers, just not to make things twice. Any
option that will prevent the middle code from trying to deal with
times-out will be immediately taken into account by the drivers I
maintain, btw.
[ ... ]
> > 1) Remove the recusion do_sd_request()/requeue_sd_request() that, in my
> > opinion should never have existed.
> > 2) Make the new stuff aware of the recursion from
> > queue_command()/rw_intr() and just do nothing in that situation.
>
> Item (1) has been fixed. I'll post them when things get settled here.
> Item (2) will allow the sd driver's queue to stop feeding the lower
> layers. Maybe only for a short while, but it could get stuck.
NEW SUGGESTION:
The conditionning of the use of the SCSI BH handler by the use of the
other error recovery strategy was not necessary. It should not be that
hard (seems far simple) to let the SCSI BH deal with request signalled
from some scsi_old_done_bh() and call the actual scsi_old_done() handling
from the SCSI BH handler. This avoids the evil recursion, may-be reduces
the io-latency (for IOs not under the io_request_lock) and does not
require any change in SCSI drivers (A kernel config option does the
trick).
G�rard.
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]