diff options
author | Anil Gurumurthy <anil.gurumurthy@cavium.com> | 2017-03-15 12:48:50 -0400 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2017-03-18 20:28:36 -0400 |
commit | 54b9993c8cf2d77c0f23be828a22e0817f742442 (patch) | |
tree | 12fb664ee9c6a8ca6288e2fbecdad575eb45216c | |
parent | be25152c0d9e236076323abbe9def9714234b761 (diff) |
qla2xxx: Export DIF stats via debugfs
Signed-off-by: Anil Gurumurthy <anil.gurumurthy@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 12 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_dfs.c | 15 |
2 files changed, 27 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 9d1d3dcf1c87..8228dfac6a31 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h | |||
@@ -3108,6 +3108,16 @@ struct qla_chip_state_84xx { | |||
3108 | uint32_t gold_fw_version; | 3108 | uint32_t gold_fw_version; |
3109 | }; | 3109 | }; |
3110 | 3110 | ||
3111 | struct qla_dif_statistics { | ||
3112 | uint64_t dif_input_bytes; | ||
3113 | uint64_t dif_output_bytes; | ||
3114 | uint64_t dif_input_requests; | ||
3115 | uint64_t dif_output_requests; | ||
3116 | uint32_t dif_guard_err; | ||
3117 | uint32_t dif_ref_tag_err; | ||
3118 | uint32_t dif_app_tag_err; | ||
3119 | }; | ||
3120 | |||
3111 | struct qla_statistics { | 3121 | struct qla_statistics { |
3112 | uint32_t total_isp_aborts; | 3122 | uint32_t total_isp_aborts; |
3113 | uint64_t input_bytes; | 3123 | uint64_t input_bytes; |
@@ -3120,6 +3130,8 @@ struct qla_statistics { | |||
3120 | uint32_t stat_max_pend_cmds; | 3130 | uint32_t stat_max_pend_cmds; |
3121 | uint32_t stat_max_qfull_cmds_alloc; | 3131 | uint32_t stat_max_qfull_cmds_alloc; |
3122 | uint32_t stat_max_qfull_cmds_dropped; | 3132 | uint32_t stat_max_qfull_cmds_dropped; |
3133 | |||
3134 | struct qla_dif_statistics qla_dif_stats; | ||
3123 | }; | 3135 | }; |
3124 | 3136 | ||
3125 | struct bidi_statistics { | 3137 | struct bidi_statistics { |
diff --git a/drivers/scsi/qla2xxx/qla_dfs.c b/drivers/scsi/qla2xxx/qla_dfs.c index b48cce696bac..3b35905619b0 100644 --- a/drivers/scsi/qla2xxx/qla_dfs.c +++ b/drivers/scsi/qla2xxx/qla_dfs.c | |||
@@ -114,6 +114,21 @@ qla_dfs_tgt_counters_show(struct seq_file *s, void *unused) | |||
114 | seq_printf(s, "num Q full sent = %lld\n", | 114 | seq_printf(s, "num Q full sent = %lld\n", |
115 | vha->tgt_counters.num_q_full_sent); | 115 | vha->tgt_counters.num_q_full_sent); |
116 | 116 | ||
117 | /* DIF stats */ | ||
118 | seq_printf(s, "DIF Inp Bytes = %lld\n", | ||
119 | vha->qla_stats.qla_dif_stats.dif_input_bytes); | ||
120 | seq_printf(s, "DIF Outp Bytes = %lld\n", | ||
121 | vha->qla_stats.qla_dif_stats.dif_output_bytes); | ||
122 | seq_printf(s, "DIF Inp Req = %lld\n", | ||
123 | vha->qla_stats.qla_dif_stats.dif_input_requests); | ||
124 | seq_printf(s, "DIF Outp Req = %lld\n", | ||
125 | vha->qla_stats.qla_dif_stats.dif_output_requests); | ||
126 | seq_printf(s, "DIF Guard err = %d\n", | ||
127 | vha->qla_stats.qla_dif_stats.dif_guard_err); | ||
128 | seq_printf(s, "DIF Ref tag err = %d\n", | ||
129 | vha->qla_stats.qla_dif_stats.dif_ref_tag_err); | ||
130 | seq_printf(s, "DIF App tag err = %d\n", | ||
131 | vha->qla_stats.qla_dif_stats.dif_app_tag_err); | ||
117 | return 0; | 132 | return 0; |
118 | } | 133 | } |
119 | 134 | ||