From: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
To: jejb@linux.vnet.ibm.com, martin.petersen@oracle.com,
linux-scsi@vger.kernel.org
Cc: David.Carroll@microsemi.com, Gana.Sridaran@microsemi.com,
Scott.Benesh@microsemi.com, Prasad.Munirathnam@microsemi.com
Subject: [PATCH 04/19] aacraid: Set correct Queue Depth for HBA1000 RAW disks
Date: Sun, 7 May 2017 06:34:09 -0700 [thread overview]
Message-ID: <1494164064-17715-5-git-send-email-RaghavaAditya.Renukunta@microsemi.com> (raw)
In-Reply-To: <1494164064-17715-1-git-send-email-RaghavaAditya.Renukunta@microsemi.com>
The default queue depth for non NATIVE RAW disks is calculated from the
number of fibs and number of disks or a max of 256. This causes poor disk
IO performance.
The fix is to set default qd based on the type of disks
(SATA -32 and SAS -64)
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
---
drivers/scsi/aacraid/linit.c | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 5e1a2d6..9ef98e4 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -405,17 +405,23 @@ static int aac_slave_configure(struct scsi_device *sdev)
int chn, tid;
unsigned int depth = 0;
unsigned int set_timeout = 0;
+ bool set_qd_dev_type = false;
+ u8 devtype = 0;
chn = aac_logical_to_phys(sdev_channel(sdev));
tid = sdev_id(sdev);
- if (chn < AAC_MAX_BUSES && tid < AAC_MAX_TARGETS &&
- aac->hba_map[chn][tid].devtype == AAC_DEVTYPE_NATIVE_RAW) {
- depth = aac->hba_map[chn][tid].qd_limit;
+ 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)
+ depth = aac->hba_map[chn][tid].qd_limit;
+ else if (devtype == AAC_DEVTYPE_ARC_RAW)
+ set_qd_dev_type = true;
+
set_timeout = 1;
goto common_config;
}
-
if (aac->jbod && (sdev->type == TYPE_DISK))
sdev->removable = 1;
@@ -470,16 +476,22 @@ static int aac_slave_configure(struct scsi_device *sdev)
if (sdev_channel(sdev) != NATIVE_CHANNEL)
goto common_config;
- /*
- * Check if SATA drive
- */
+ set_qd_dev_type = true;
+
+ }
+
+common_config:
+
+ /*
+ * Check if SATA drive
+ */
+ if (set_qd_dev_type) {
if (strncmp(sdev->vendor, "ATA", 3) == 0)
depth = 32;
else
depth = 64;
}
-common_config:
/*
* Firmware has an individual device recovery time typically
* of 35 seconds, give us a margin.
--
2.7.4
next prev parent reply other threads:[~2017-05-07 21:45 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-07 13:34 [PATCH 00/19] aacraid: Patchset with reset rework and misc fixes Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 01/19] aacraid: Remove GFP_DMA for raw srb memory Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 02/19] aacraid: Fix DMAR issues with iommu=pt Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 03/19] aacraid: Added 32 and 64 queue depth for arc natives Raghava Aditya Renukunta
2017-05-07 13:34 ` Raghava Aditya Renukunta [this message]
2017-05-07 13:34 ` [PATCH 05/19] aacraid: Remove reset support from check_health Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 06/19] aacraid: Change wait time for fib completion Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 07/19] aacraid: Log count info of scsi cmds before reset Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 08/19] aacraid: Print ctrl status before eh reset Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 09/19] aacraid: Using single reset mask for IOP reset Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 10/19] aacraid: Rework " Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 11/19] aacraid: Add periodic checks to see IOP reset status Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 12/19] aacraid: Rework SOFT reset code Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 13/19] aacraid: Rework aac_src_restart Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 14/19] aacraid: Use correct function to get ctrl health Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 15/19] aacraid: Make sure ioctl returns on controller reset Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 16/19] aacraid: Enable ctrl reset for both hba and arc Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 17/19] aacraid : Add reset debugging statements Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 18/19] aacraid: Remove reference to Series-9 Raghava Aditya Renukunta
2017-05-07 13:34 ` [PATCH 19/19] aacraid: Update driver version to 50834 Raghava Aditya Renukunta
2017-05-08 21:16 ` [PATCH 00/19] aacraid: Patchset with reset rework and misc fixes Raghava Aditya Renukunta
-- strict thread matches above, loose matches on Subject: below --
2017-05-07 11:26 Raghava Aditya Renukunta
2017-05-07 11:26 ` [PATCH 04/19] aacraid: Set correct Queue Depth for HBA1000 RAW disks Raghava Aditya Renukunta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1494164064-17715-5-git-send-email-RaghavaAditya.Renukunta@microsemi.com \
--to=raghavaaditya.renukunta@microsemi.com \
--cc=David.Carroll@microsemi.com \
--cc=Gana.Sridaran@microsemi.com \
--cc=Prasad.Munirathnam@microsemi.com \
--cc=Scott.Benesh@microsemi.com \
--cc=jejb@linux.vnet.ibm.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox