diff options
author | Quinn Tran <quinn.tran@qlogic.com> | 2015-12-17 14:57:04 -0500 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2016-01-07 13:57:46 -0800 |
commit | 7560151b6b3c1f4432c1c5b5b6496070d1f38484 (patch) | |
tree | b929486880b266742d07197ab54fc0933afe8831 /drivers/scsi/qla2xxx/qla_os.c | |
parent | 193b50b9d54a4fcb723a8005b29d8dd5518e3ae2 (diff) | |
download | kernel_replicant_linux-7560151b6b3c1f4432c1c5b5b6496070d1f38484.tar.gz kernel_replicant_linux-7560151b6b3c1f4432c1c5b5b6496070d1f38484.tar.bz2 kernel_replicant_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; |