Commit d58129c9 authored by Raghava Aditya Renukunta's avatar Raghava Aditya Renukunta Committed by Martin K. Petersen

scsi: aacraid: Added 32 and 64 queue depth for arc natives

The qd for ARC Native disks is calculated by dividing the max IO 1024
by the number of disks or 256 which ever is lower. This causes poor
disk IO performance.

The fix is set the qd based on the type of disk (SAS - 64 and SATA -
32).
Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Reviewed-by: default avatarDavid Carroll <david.carroll@microsemi.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 8105d39d
...@@ -415,6 +415,7 @@ struct aac_ciss_identify_pd { ...@@ -415,6 +415,7 @@ struct aac_ciss_identify_pd {
* These macros convert from physical channels to virtual channels * These macros convert from physical channels to virtual channels
*/ */
#define CONTAINER_CHANNEL (0) #define CONTAINER_CHANNEL (0)
#define NATIVE_CHANNEL (1)
#define CONTAINER_TO_CHANNEL(cont) (CONTAINER_CHANNEL) #define CONTAINER_TO_CHANNEL(cont) (CONTAINER_CHANNEL)
#define CONTAINER_TO_ID(cont) (cont) #define CONTAINER_TO_ID(cont) (cont)
#define CONTAINER_TO_LUN(cont) (0) #define CONTAINER_TO_LUN(cont) (0)
......
...@@ -466,6 +466,17 @@ static int aac_slave_configure(struct scsi_device *sdev) ...@@ -466,6 +466,17 @@ static int aac_slave_configure(struct scsi_device *sdev)
++num_lsu; ++num_lsu;
depth = (host->can_queue - num_one) / num_lsu; depth = (host->can_queue - num_one) / num_lsu;
if (sdev_channel(sdev) != NATIVE_CHANNEL)
goto common_config;
/*
* Check if SATA drive
*/
if (strncmp(sdev->vendor, "ATA", 3) == 0)
depth = 32;
else
depth = 64;
} }
common_config: common_config:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment