aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShyam Sundar <ssundar@marvell.com>2020-10-21 02:27:14 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2020-10-26 18:06:45 -0400
commit846101960fdbe312efac13ae4843410f516ff599 (patch)
tree46a1b668a5e0634bf350df97e96b9321835068d8
parentscsi: fc: Parse FPIN packets and update statistics (diff)
downloadlinux-dev-846101960fdbe312efac13ae4843410f516ff599.tar.xz
linux-dev-846101960fdbe312efac13ae4843410f516ff599.zip
scsi: fc: Add mechanism to update FPIN signal statistics
Under fc_host_statistics add statistics for Congestion Signals that are delivered to the host as interrupt signals. Link: https://lore.kernel.org/r/20201021092715.22669-5-njavali@marvell.com Reviewed-by: James Smart <james.smart@broadcom.com> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Shyam Sundar <ssundar@marvell.com> Signed-off-by: Nilesh Javali <njavali@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/scsi_transport_fc.c5
-rw-r--r--include/scsi/scsi_transport_fc.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
index 4dfa0e40d8e5..3f816ab1d845 100644
--- a/drivers/scsi/scsi_transport_fc.c
+++ b/drivers/scsi/scsi_transport_fc.c
@@ -2100,6 +2100,9 @@ fc_host_statistic(fc_xid_not_found);
fc_host_statistic(fc_xid_busy);
fc_host_statistic(fc_seq_not_found);
fc_host_statistic(fc_non_bls_resp);
+fc_host_statistic(cn_sig_warn);
+fc_host_statistic(cn_sig_alarm);
+
#define fc_host_fpin_statistic(name) \
static ssize_t fc_host_fpinstat_##name(struct device *cd, \
@@ -2182,6 +2185,8 @@ static struct attribute *fc_statistics_attrs[] = {
&device_attr_host_fc_xid_busy.attr,
&device_attr_host_fc_seq_not_found.attr,
&device_attr_host_fc_non_bls_resp.attr,
+ &device_attr_host_cn_sig_warn.attr,
+ &device_attr_host_cn_sig_alarm.attr,
&device_attr_host_reset_statistics.attr,
&device_attr_host_fpin_dn.attr,
&device_attr_host_fpin_dn_unknown.attr,
diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h
index a636c1986e22..c759b29e46c7 100644
--- a/include/scsi/scsi_transport_fc.h
+++ b/include/scsi/scsi_transport_fc.h
@@ -468,6 +468,9 @@ struct fc_host_statistics {
u64 fc_seq_not_found; /* seq is not found for exchange */
u64 fc_non_bls_resp; /* a non BLS response frame with
a sequence responder in new exch */
+ /* Host Congestion Signals */
+ u64 cn_sig_warn;
+ u64 cn_sig_alarm;
};