]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mpt3sas: Set maximum transfer length per IO to 4MB for VDs
authorChaitra P B <chaitra.basappa@broadcom.com>
Fri, 6 May 2016 08:59:30 +0000 (14:29 +0530)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 13 Jul 2016 07:37:01 +0000 (00:37 -0700)
Set maximum transfer length per IO on RAID volumes to 4MB by setting
VD's queue's max_sector to 8192.

Signed-off-by: Chaitra P B <chaitra.basappa@broadcom.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Orabug: 22529571
(cherry picked from commit 6c197093847e8cdec844df39a373bfe1f9a1ac8a)
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_base.h
drivers/scsi/mpt3sas/mpt3sas_scsih.c

index aa918aaf9cc76d0674714df5c25e5a5da41f2f31..e1befba7c0569e1948d379297fc3d6276423fbb9 100644 (file)
 #define MPT3SAS_SAS_QUEUE_DEPTH                254
 #define MPT3SAS_RAID_QUEUE_DEPTH       128
 
+#define MPT3SAS_RAID_MAX_SECTORS       8192
+
 #define MPT_NAME_LENGTH                        32      /* generic length of strings */
 #define MPT_STRING_LENGTH              64
 
index d256fc0fcc98b7faf93fbc9728bed3172b1cc378..7217218edbac8f1a0867ffe3e18f9aafeb031082 100644 (file)
@@ -1909,6 +1909,14 @@ scsih_slave_configure(struct scsi_device *sdev)
                            (unsigned long long)raid_device->wwid,
                            raid_device->num_pds, ds);
 
+               if (shost->max_sectors > MPT3SAS_RAID_MAX_SECTORS) {
+                       blk_queue_max_hw_sectors(sdev->request_queue,
+                                               MPT3SAS_RAID_MAX_SECTORS);
+                       sdev_printk(KERN_INFO, sdev,
+                                       "Set queue's max_sector to: %u\n",
+                                               MPT3SAS_RAID_MAX_SECTORS);
+               }
+
                scsih_change_queue_depth(sdev, qdepth);
 
                /* raid transport support */