diff options
author | Quinn Tran <quinn.tran@qlogic.com> | 2015-12-17 22:57:04 +0300 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2016-01-08 00:57:46 +0300 |
commit | 7560151b6b3c1f4432c1c5b5b6496070d1f38484 (patch) | |
tree | b929486880b266742d07197ab54fc0933afe8831 /drivers/scsi/qla2xxx/qla_def.h | |
parent | 193b50b9d54a4fcb723a8005b29d8dd5518e3ae2 (diff) | |
download | linux-7560151b6b3c1f4432c1c5b5b6496070d1f38484.tar.xz |
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_def.h')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 734524f5cf7d..216a944c1ca5 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -2929,6 +2929,7 @@ struct qlt_hw_data { uint32_t num_qfull_cmds_dropped; spinlock_t q_full_lock; uint32_t leak_exchg_thresh_hold; + spinlock_t sess_lock; }; #define MAX_QFULL_CMDS_ALLOC 8192 |