[PATCH] scsi: aacraid: Fix performance issue(QD) on logical drives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Sagar Biradar <sagar.biradar@xxxxxxxxxxxxx>

To: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
To: James Bottomley <jejb@xxxxxxxxxxxxxxxxxx>
cc: linux-scsi <linux-scsi@xxxxxxxxxxxxxxx>
cc: aacraid@xxxxxxxxxxxxx
cc: Dave Carroll <dave.carroll@xxxxxxxxxxxxx>
cc: Scott Benesh <scott.benesh@xxxxxxxxxxxxx>
cc: stable@xxxxxxxxxxxxxxx

Fix performance issue where the queue depth for SmartIOC logical
volumes is set to 1, and allow the usual logical volume code
to be executed

Fixes: a052865fe2871a3888 (aacraid: Set correct Queue Depth for HBA1000
RAW disks)

Signed-off-by: Sagar Biradar <Sagar.Biradar@xxxxxxxxxxxxx>
---
 drivers/scsi/aacraid/linit.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 7e56a11..cceffac 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -413,13 +413,16 @@ static int aac_slave_configure(struct scsi_device *sdev)
 	if (chn < AAC_MAX_BUSES && tid < AAC_MAX_TARGETS && aac->sa_firmware) {
 		devtype = aac->hba_map[chn][tid].devtype;
 
-		if (devtype == AAC_DEVTYPE_NATIVE_RAW)
+		if (devtype == AAC_DEVTYPE_NATIVE_RAW) {
 			depth = aac->hba_map[chn][tid].qd_limit;
-		else if (devtype == AAC_DEVTYPE_ARC_RAW)
+			set_timeout = 1;
+			goto common_config;
+		}
+		if (devtype == AAC_DEVTYPE_ARC_RAW) {
 			set_qd_dev_type = true;
-
-		set_timeout = 1;
-		goto common_config;
+			set_timeout = 1;
+			goto common_config;
+		}
 	}
 
 	if (aac->jbod && (sdev->type == TYPE_DISK))
-- 
1.8.3.1




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux