Martin Drab found that he could get aacraid timeouts with high load on his controller / disk drive combinations. After some experimentation Mark Salyzyn has come up with a patch to reduce the default max_sectors to something that will keep the controller from being overloaded and will eliminate the timeout issues. Patch against scsi-misc-2.6 git tree. Signed-off-by: Mark Haverkamp <markh@xxxxxxxx> Index: scsi-misc-2.6/drivers/scsi/aacraid/aacraid.h =================================================================== --- scsi-misc-2.6.orig/drivers/scsi/aacraid/aacraid.h 2005-07-08 09:22:20.000000000 -0700 +++ scsi-misc-2.6/drivers/scsi/aacraid/aacraid.h 2005-07-08 09:23:52.000000000 -0700 @@ -15,11 +15,7 @@ #define AAC_MAX_LUN (8) #define AAC_MAX_HOSTPHYSMEMPAGES (0xfffff) -/* - * max_sectors is an unsigned short, otherwise limit is 0x100000000 / 512 - * Linux has starvation problems if we permit larger than 4MB I/O ... - */ -#define AAC_MAX_32BIT_SGBCOUNT ((unsigned short)8192) +#define AAC_MAX_32BIT_SGBCOUNT ((unsigned short)512) /* * These macros convert from physical channels to virtual channels Index: scsi-misc-2.6/drivers/scsi/aacraid/linit.c =================================================================== --- scsi-misc-2.6.orig/drivers/scsi/aacraid/linit.c 2005-06-27 09:57:38.000000000 -0700 +++ scsi-misc-2.6/drivers/scsi/aacraid/linit.c 2005-07-08 09:23:52.000000000 -0700 @@ -374,7 +374,8 @@ else scsi_adjust_queue_depth(sdev, 0, 1); - if (host->max_sectors < AAC_MAX_32BIT_SGBCOUNT) + if (!(((struct aac_dev *)host->hostdata)->adapter_info.options + & AAC_OPT_NEW_COMM)) blk_queue_max_segment_size(sdev->request_queue, 65536); return 0; -- Mark Haverkamp <markh@xxxxxxxx> - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html