linux_dsm_epyc7002/drivers/scsi/lpfc
James Smart 5e5b511d8b scsi: lpfc: Partition XRI buffer list across Hardware Queues
Once the IO buff allocations were made shared, there was a single XRI
buffer list shared by all hardware queues.  A single list isn't great for
performance when shared across the per-cpu hardware queues.

Create a separate XRI IO buffer get/put list for each Hardware Queue.  As
SGLs and associated IO buffers get allocated/posted to the firmware; round
robin their assignment across all available hardware Queues so that there
is an equitable assignment.

Modify SCSI and NVME IO submit code paths to use the Hardware Queue logic
for XRI allocation.

Add a debugfs interface to display hardware queue statistics

Added new empty_io_bufs counter to track if a cpu runs out of XRIs.

Replace common_ variables/names with io_ to make meanings clearer.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2019-02-05 22:24:22 -05:00
..
lpfc_attr.c scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_attr.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_bsg.c scsi: lpfc: Enable Management features for IF_TYPE=6 2018-12-12 20:33:08 -05:00
lpfc_bsg.h scsi: lpfc: add Trunking support 2018-11-06 20:42:51 -05:00
lpfc_compat.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_crtn.h scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_ct.c scsi: lpfc: Add log messages to aid in debugging fc4type discovery issues 2018-12-19 22:13:07 -05:00
lpfc_debugfs.c scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_debugfs.h scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_disc.h scsi: lpfc: Fix discovery failures during port failovers with lots of vports 2018-12-07 22:35:32 -05:00
lpfc_els.c scsi: lpfc: Enable Management features for IF_TYPE=6 2018-12-12 20:33:08 -05:00
lpfc_hbadisc.c scsi: lpfc: Fix discovery failure when PLOGI is defered 2018-12-19 22:13:07 -05:00
lpfc_hw4.h scsi: lpfc: Adding ability to reset chip via pci bus reset 2018-12-19 22:13:08 -05:00
lpfc_hw.h Revert "scsi: lpfc: ls_rjt erroneus FLOGIs" 2018-12-12 20:26:56 -05:00
lpfc_ids.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_init.c scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_logmsg.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_mbox.c scsi: lpfc: Correct topology type reporting on G7 adapters 2018-12-07 22:35:33 -05:00
lpfc_mem.c scsi: lpfc: refactor mailbox structure context fields 2018-12-07 22:35:32 -05:00
lpfc_nl.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_nportdisc.c scsi: lpfc: Fix discovery failures during port failovers with lots of vports 2018-12-07 22:35:32 -05:00
lpfc_nvme.c scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_nvme.h scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_nvmet.c scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_nvmet.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc_scsi.c scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_scsi.h scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_sli4.h scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_sli.c scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_sli.h scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
lpfc_version.h scsi: lpfc: Update lpfc version to 12.0.0.10 2018-12-19 22:13:08 -05:00
lpfc_vport.c scsi: lpfc: refactor mailbox structure context fields 2018-12-07 22:35:32 -05:00
lpfc_vport.h scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00
lpfc.h scsi: lpfc: Partition XRI buffer list across Hardware Queues 2019-02-05 22:24:22 -05:00
Makefile scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00