summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_os.c
diff options
context:
space:
mode:
authorQuinn Tran2015-12-17 20:57:04 +0100
committerNicholas Bellinger2016-01-07 22:57:46 +0100
commit7560151b6b3c1f4432c1c5b5b6496070d1f38484 (patch)
treeb929486880b266742d07197ab54fc0933afe8831 /drivers/scsi/qla2xxx/qla_os.c
parentqla2xxx: Replace QLA_TGT_STATE_ABORTED with a bit. (diff)
downloadkernel-qcow2-linux-7560151b6b3c1f4432c1c5b5b6496070d1f38484.tar.gz
kernel-qcow2-linux-7560151b6b3c1f4432c1c5b5b6496070d1f38484.tar.xz
kernel-qcow2-linux-7560151b6b3c1f4432c1c5b5b6496070d1f38484.zip
qla2xxx: Remove dependency on hardware_lock to reduce lock contention.
Sessions management (add, deleted, modify) currently are serialized through the hardware_lock. Hardware_lock is a high traffic lock. This lock is accessed by both the transmit & receive sides. Sessions management is now moved off to another lock call sess_lock. This is done to reduce lock contention and increase traffic throughput. Signed-off-by: Quinn Tran <quinn.tran@qlogic.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 00ea902b2a42..0484acb3ff16 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -2336,6 +2336,7 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
ha->tgt.enable_class_2 = ql2xenableclass2;
INIT_LIST_HEAD(&ha->tgt.q_full_list);
spin_lock_init(&ha->tgt.q_full_lock);
+ spin_lock_init(&ha->tgt.sess_lock);
/* Clear our data area */
ha->bars = bars;