diff options
author | Quinn Tran | 2015-12-17 20:57:04 +0100 |
---|---|---|
committer | Nicholas Bellinger | 2016-01-07 22:57:46 +0100 |
commit | 7560151b6b3c1f4432c1c5b5b6496070d1f38484 (patch) | |
tree | b929486880b266742d07197ab54fc0933afe8831 /drivers/scsi/qla2xxx/qla_os.c | |
parent | qla2xxx: Replace QLA_TGT_STATE_ABORTED with a bit. (diff) | |
download | kernel-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.c | 1 |
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; |