scsi: pm80xx: Increase number of supported queues
authorViswas G <Viswas.G@microchip.com>
Mon, 5 Oct 2020 14:50:08 +0000 (20:20 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 8 Oct 2020 03:50:04 +0000 (23:50 -0400)
commit05c6c029a44d9f43715577e33e95eba87f44d285
treedccb72c9440d181cdd01520d380fb4b800c19830
parent1725ba8d6ff1e98ce9d1f79d2bad7580cceace05
scsi: pm80xx: Increase number of supported queues

Current driver uses fixed number of Inbound and Outbound queues and all of
the I/O, TMF and internal requests are submitted through those. A global
spin lock is used to control the shared access. This can create a lock
contention and it is real bottleneck in the I/O path.

To avoid this, the number of supported Inbound and Outbound queues is
increased to 64, and the number of queues used is decided based on number
of CPU cores online and number of MSI-X vectors allocated. Also add locks
per queue instead of using the global lock.

Link: https://lore.kernel.org/r/20201005145011.23674-2-Viswas.G@microchip.com.com
Acked-by: Jack Wang <jinpu.wang@cloud.ionos.com>
Signed-off-by: Viswas G <Viswas.G@microchip.com>
Signed-off-by: Ruksar Devadi <Ruksar.devadi@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/pm8001/pm8001_ctl.c
drivers/scsi/pm8001/pm8001_defs.h
drivers/scsi/pm8001/pm8001_hwi.c
drivers/scsi/pm8001/pm8001_init.c
drivers/scsi/pm8001/pm8001_sas.h
drivers/scsi/pm8001/pm80xx_hwi.c