mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 18:24:14 +08:00
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: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: David Carroll <david.carroll@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
8105d39d0e
commit
d58129c96b
@ -415,6 +415,7 @@ struct aac_ciss_identify_pd {
|
||||
* These macros convert from physical channels to virtual channels
|
||||
*/
|
||||
#define CONTAINER_CHANNEL (0)
|
||||
#define NATIVE_CHANNEL (1)
|
||||
#define CONTAINER_TO_CHANNEL(cont) (CONTAINER_CHANNEL)
|
||||
#define CONTAINER_TO_ID(cont) (cont)
|
||||
#define CONTAINER_TO_LUN(cont) (0)
|
||||
|
@ -466,6 +466,17 @@ static int aac_slave_configure(struct scsi_device *sdev)
|
||||
++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:
|
||||
|
Loading…
Reference in New Issue
Block a user