[PATCH 1/1] aacraid: default timeout for arrays too short

Salyzyn, Mark
2007-08-07T19:36:27Z

[-- Attachment #1: Type: text/plain, Size: 1098 bytes --]

The default SCSI timeout is 30 seconds for a logical device. The aacraid
based controllers currently have a 35 second timeout for the array. We
are bumping up the default SCSI timeout for array devices, which
typically manage many physical disks, to 45 seconds to provide a small
margin to permit the controller to do what it is designed for. We have
not observed any bad side-effects either way because no significant
actions are taken by the aacraid timeout handler except to take
advantage of the quiesced state to allow completion of all outstanding
commands in the controller to provide a poor-mans guaranty of delivery.
This is merely a preferential decision to reduce the number of timeout
reports in the system logs to only the more serious conditions.

This attached patch is against current scsi-misc-2.6.

ObligatoryDisclaimer: Please accept my condolences regarding Outlook's
handling of patch attachments.

Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>

drivers/scsi/aacraid/linit.c | 6 ++++++
1 file changed, 6 insertions(+)

Sincerely -- Mark Salyzyn

[-- Attachment #2: aacraid_array_timeout_too_short.patch --]
[-- Type: application/octet-stream, Size: 607 bytes --]

diff -ru a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
--- a/drivers/scsi/aacraid/linit.c 2007-08-07 14:50:42.087439732 -0400
+++ b/drivers/scsi/aacraid/linit.c 2007-08-07 14:55:54.973530300 -0400
@@ -420,6 +420,12 @@
unsigned num_one = 0;
unsigned depth;

+ /*
+ * Firmware has an individual device recovery time typically
+ * of 35 seconds, give us a margin.
+ */
+ if (sdev->timeout < (45 * HZ))
+ sdev->timeout = 45 * HZ;
__shost_for_each_device(dev, host) {
if (dev->tagged_supported && (dev->type == TYPE_DISK) &&
(sdev_channel(dev) == CONTAINER_CHANNEL))