Re: [PATCH] queue barrier support

From: Chris Mason (mason@suse.com)
Date: Fri Feb 15 2002 - 08:41:59 EST


On Wednesday, February 13, 2002 01:26:12 PM -0500 James Bottomley <James.Bottomley@steeleye.com> wrote:

> axboe@suse.de said:
>> ChangeSet@1.297, 2002-02-13 13:42:39+01:00, axboe@burns.home.kernel.dk
>> Add support for SCSI drivers to indicate support for ordered tags
>> http://bitmover.com:8888//tmp/v2_logging/athlon.transmeta.com/
>> torvalds-2002020517305 \ 6-16047-c1d11a41ed024864/cset@1.133.114.4?nav=
>> index.html|ChangeSet@-1h
>
>> ChangeSet@1.298, 2002-02-13 13:43:04+01:00, axboe@burns.home.kernel.dk
>> Add ordered tag support to the aic7xxx scsi driver
>
> The rest of the aic7xxx code uses MSG_ORDERED_TASK rather than
> MSG_ORDERED_Q_TAG. You have to scan through the headers to see that these are
># defined the same.

Jens, my patch from yesterday has this fixed.

>
> A problem (that is probably only an issue for older drives) is that while
> technically the standard requires all 3 types of TAG to be supported if tag
> queueing is, some drives really only have simple tag support in their
> firmware, so you may need to add a blacklist for ordered tags on certain
> drives.

Yes, this could get sticky. Does anyone know if other OSes have already
done this?

>
> A further issue is that you haven't added anything to the error recovery code
> for this. If error recovery is activated for the device at the reset level,
> all tags will be discarded by the device. The eh will retry the failing
> command and then the other tagged commands will be re-issued from the
> scsi_bottom_half_handler (assuming the low level device driver immediately
> fails them with DID_RESET) in the order in which the low level driver failed
> them. Thus you have potentially completely messed up the ordering when the
> commands all get retried.

I was wondering about this, we would need to change the error handler to
fail all the requests after the barrier. I was hoping the driver
did this for us ;-)

-chris

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Feb 15 2002 - 21:01:07 EST