On 12/27/18 12:33 AM, James Smart wrote:
Many io statics were being sampled and saved using adapter-based
data structures. This was creating a lot of contention and cache
thrashing in the I/O path.
Move the statistics to the hardware queue data structures.
Given the per queue data structures, use of atomic types is
lessened.
Add new syfs and debugfs stat routines to collate the per
hardware queue values and report at an adapter level.
Signed-off-by: Dick Kennedy <dick.kenn...@broadcom.com>
Signed-off-by: James Smart <jsmart2...@gmail.com>
---
drivers/scsi/lpfc/lpfc.h | 9 +--
drivers/scsi/lpfc/lpfc_attr.c | 68 ++++++++++++++---
drivers/scsi/lpfc/lpfc_debugfs.c | 158 +++++++++++++++++++++++++++++++++++++--
drivers/scsi/lpfc/lpfc_debugfs.h | 3 +
drivers/scsi/lpfc/lpfc_init.c | 40 ++++++----
drivers/scsi/lpfc/lpfc_nvme.c | 57 +++++---------
drivers/scsi/lpfc/lpfc_nvme.h | 11 +--
drivers/scsi/lpfc/lpfc_scsi.c | 47 ++++++++----
drivers/scsi/lpfc/lpfc_scsi.h | 3 +
drivers/scsi/lpfc/lpfc_sli4.h | 11 +++
10 files changed, 304 insertions(+), 103 deletions(-)
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes