Skip to contentSkip to conversation

lpfc 8.3.39: Reduced spinlock contention on SCSI buffer list

PATCH New James Smart 1 participant 1 message Apr 18, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 11/22 lpfc 8.3.39: Reduced spinlock contention on SCSI buffer list

Reduced spinlock contention on SCSI buffer list

---

 lpfc.h      |    6 ++-
 lpfc_init.c |   54 ++++++++++++++++++++++++----------
 lpfc_scsi.c |   93 ++++++++++++++++++++++++++++++++++++++----------------------
 3 files changed, 102 insertions(+), 51 deletions(-)
drivers/scsi/lpfc/lpfc.h +4 -2
diff -upNr a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h
@@ -813,8 +813,10 @@ struct lpfc_hba {
 	uint64_t bg_reftag_err_cnt;
 
 	/* fastpath list. */
-	spinlock_t scsi_buf_list_lock;
-	struct list_head lpfc_scsi_buf_list;
+	spinlock_t scsi_buf_list_get_lock;  /* SCSI buf alloc list lock */
+	spinlock_t scsi_buf_list_put_lock;  /* SCSI buf free list lock */
+	struct list_head lpfc_scsi_buf_list_get;
+	struct list_head lpfc_scsi_buf_list_put;
 	uint32_t total_scsi_bufs;
 	struct list_head lpfc_iocb_list;
 	uint32_t total_iocbq_bufs;
drivers/scsi/lpfc/lpfc_init.c +38 -16

98 lines not on this page · raw message

drivers/scsi/lpfc/lpfc_scsi.c +60 -33

150 lines not on this page · raw message