2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-22 20:43:56 +08:00
linux-next/drivers/scsi/lpfc
James Smart c2017260ee scsi: lpfc: Rework locking on SCSI io completion
A scsi host lock is taken on every io completion to check whether the abort
handler is waiting on the io completion. This is an expensive lock to take
on all completion when rarely in an abort condition.

Replace scsi host lock with command-specific lock. Synchronize completion
and abort paths by new cmd lock. Ensure all flag changing and nulling of
context pointers taken under lock.  When adding lock to task management
abort, realized it was missing other synchronization locks. Added that
synchronization to match normal paths.

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:29:50 -05:00
..
lpfc_attr.c scsi: lpfc: Enable SCSI and NVME fc4s by default 2019-02-05 22:29:50 -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: Support non-uniform allocation of MSIX vectors to hardware queues 2019-02-05 22:29:49 -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: Rework EQ/CQ processing to address interrupt coalescing 2019-02-05 22:29:49 -05:00
lpfc_debugfs.h scsi: lpfc: Support non-uniform allocation of MSIX vectors to hardware queues 2019-02-05 22:29:49 -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: cleanup: Remove unused FCP_XRI_ABORT_EVENT slowpath event 2019-02-05 22:24:22 -05:00
lpfc_hw4.h scsi: lpfc: Rework EQ/CQ processing to address interrupt coalescing 2019-02-05 22:29:49 -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: Rework locking on SCSI io completion 2019-02-05 22:29:50 -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: Rework locking on SCSI io completion 2019-02-05 22:29:50 -05:00
lpfc_nvme.h scsi: lpfc: Adapt partitioned XRI lists to efficient sharing 2019-02-05 22:29:09 -05:00
lpfc_nvmet.c scsi: lpfc: Resize cpu maps structures based on possible cpus 2019-02-05 22:29:50 -05:00
lpfc_nvmet.h scsi: lpfc: Convert ring number to hardware queue for nvme wqe posting. 2019-02-05 22:29:09 -05:00
lpfc_scsi.c scsi: lpfc: Rework locking on SCSI io completion 2019-02-05 22:29:50 -05:00
lpfc_scsi.h scsi: lpfc: Adapt partitioned XRI lists to efficient sharing 2019-02-05 22:29:09 -05:00
lpfc_sli4.h scsi: lpfc: Resize cpu maps structures based on possible cpus 2019-02-05 22:29:50 -05:00
lpfc_sli.c scsi: lpfc: Rework locking on SCSI io completion 2019-02-05 22:29:50 -05:00
lpfc_sli.h scsi: lpfc: Rework locking on SCSI io completion 2019-02-05 22:29:50 -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: Rework EQ/CQ processing to address interrupt coalescing 2019-02-05 22:29:49 -05:00
Makefile scsi: lpfc: Revise copyright for new company language 2018-07-10 22:15:09 -04:00