Lines Matching +full:io +full:- +full:reset
25 * snic_debugfs_init - Initialize debugfs for snic debug logging
35 snic_glob->trc_root = debugfs_create_dir("snic", NULL); in snic_debugfs_init()
37 snic_glob->stats_root = debugfs_create_dir("statistics", in snic_debugfs_init()
38 snic_glob->trc_root); in snic_debugfs_init()
42 * snic_debugfs_term - Tear down debugfs intrastructure
51 debugfs_remove(snic_glob->stats_root); in snic_debugfs_term()
52 snic_glob->stats_root = NULL; in snic_debugfs_term()
54 debugfs_remove(snic_glob->trc_root); in snic_debugfs_term()
55 snic_glob->trc_root = NULL; in snic_debugfs_term()
59 * snic_reset_stats_open - Open the reset_stats file
64 SNIC_BUG_ON(!inode->i_private); in snic_reset_stats_open()
65 filp->private_data = inode->i_private; in snic_reset_stats_open()
71 * snic_reset_stats_read - Read a reset_stats debugfs file
91 struct snic *snic = (struct snic *) filp->private_data; in snic_reset_stats_read()
95 len = sprintf(buf, "%u\n", snic->reset_stats); in snic_reset_stats_read()
101 * snic_reset_stats_write - Write to reset_stats debugfs file
120 struct snic *snic = (struct snic *) filp->private_data; in snic_reset_stats_write()
121 struct snic_stats *stats = &snic->s_stats; in snic_reset_stats_write()
122 u64 *io_stats_p = (u64 *) &stats->io; in snic_reset_stats_write()
123 u64 *fw_stats_p = (u64 *) &stats->fw; in snic_reset_stats_write()
129 return -EINVAL; in snic_reset_stats_write()
132 return -EFAULT; in snic_reset_stats_write()
140 snic->reset_stats = val; in snic_reset_stats_write()
142 if (snic->reset_stats) { in snic_reset_stats_write()
144 * and IO Completions stats. Skip incrementing No IO Compls in snic_reset_stats_write()
147 atomic64_set(&snic->io_cmpl_skip, in snic_reset_stats_write()
148 atomic64_read(&stats->io.active)); in snic_reset_stats_write()
149 memset(&stats->abts, 0, sizeof(struct snic_abort_stats)); in snic_reset_stats_write()
150 memset(&stats->reset, 0, sizeof(struct snic_reset_stats)); in snic_reset_stats_write()
151 memset(&stats->misc, 0, sizeof(struct snic_misc_stats)); in snic_reset_stats_write()
154 sizeof(struct snic_io_stats) - sizeof(u64)); in snic_reset_stats_write()
157 sizeof(struct snic_fw_stats) - sizeof(u64)); in snic_reset_stats_write()
162 SNIC_HOST_INFO(snic->shost, "Reset Op: Driver statistics.\n"); in snic_reset_stats_write()
170 filp->private_data = NULL; in snic_reset_stats_release()
176 * snic_stats_show - Formats and prints per host specific driver stats.
181 struct snic *snic = (struct snic *) sfp->private; in snic_stats_show()
182 struct snic_stats *stats = &snic->s_stats; in snic_stats_show()
187 /* Dump IO Stats */ in snic_stats_show()
189 "------------------------------------------\n" in snic_stats_show()
190 "\t\t IO Statistics\n" in snic_stats_show()
191 "------------------------------------------\n"); in snic_stats_show()
193 maxio_tm = (u64) atomic64_read(&stats->io.max_time); in snic_stats_show()
204 "Max SGL for any IO : %lld\n" in snic_stats_show()
205 "Max IO Size : %lld Sectors\n" in snic_stats_show()
208 "Max IO Process Time(FW) : %lld (%u msec)\n", in snic_stats_show()
209 (u64) atomic64_read(&stats->io.active), in snic_stats_show()
210 (u64) atomic64_read(&stats->io.max_active), in snic_stats_show()
211 (u64) atomic64_read(&stats->io.num_ios), in snic_stats_show()
212 (u64) atomic64_read(&stats->io.compl), in snic_stats_show()
213 (u64) atomic64_read(&stats->io.fail), in snic_stats_show()
214 (u64) atomic64_read(&stats->io.io_not_found), in snic_stats_show()
215 (u64) atomic64_read(&stats->io.alloc_fail), in snic_stats_show()
216 (u64) atomic64_read(&stats->io.req_null), in snic_stats_show()
217 (u64) atomic64_read(&stats->io.sc_null), in snic_stats_show()
218 (u64) atomic64_read(&stats->io.max_sgl), in snic_stats_show()
219 (u64) atomic64_read(&stats->io.max_io_sz), in snic_stats_show()
220 (u64) atomic64_read(&stats->io.max_qtime), in snic_stats_show()
221 (u64) atomic64_read(&stats->io.max_cmpl_time), in snic_stats_show()
230 (u64) atomic64_read(&stats->io.sgl_cnt[i])); in snic_stats_show()
238 "\n-------------------------------------------\n" in snic_stats_show()
240 "---------------------------------------------\n"); in snic_stats_show()
247 "Abort IO NOT Found : %lld\n" in snic_stats_show()
249 (u64) atomic64_read(&stats->abts.num), in snic_stats_show()
250 (u64) atomic64_read(&stats->abts.fail), in snic_stats_show()
251 (u64) atomic64_read(&stats->abts.drv_tmo), in snic_stats_show()
252 (u64) atomic64_read(&stats->abts.fw_tmo), in snic_stats_show()
253 (u64) atomic64_read(&stats->abts.io_not_found), in snic_stats_show()
254 (u64) atomic64_read(&stats->abts.q_fail)); in snic_stats_show()
256 /* Dump Reset Stats */ in snic_stats_show()
258 "\n-------------------------------------------\n" in snic_stats_show()
259 "\t\t Reset Statistics\n" in snic_stats_show()
260 "---------------------------------------------\n"); in snic_stats_show()
264 "HBA Reset Cmpls : %lld\n" in snic_stats_show()
265 "HBA Reset Fail : %lld\n", in snic_stats_show()
266 (u64) atomic64_read(&stats->reset.hba_resets), in snic_stats_show()
267 (u64) atomic64_read(&stats->reset.hba_reset_cmpl), in snic_stats_show()
268 (u64) atomic64_read(&stats->reset.hba_reset_fail)); in snic_stats_show()
272 "\n-------------------------------------------\n" in snic_stats_show()
274 "---------------------------------------------\n"); in snic_stats_show()
280 "FW IO Errors : %lld\n" in snic_stats_show()
282 (u64) atomic64_read(&stats->fw.actv_reqs), in snic_stats_show()
283 (u64) atomic64_read(&stats->fw.max_actv_reqs), in snic_stats_show()
284 (u64) atomic64_read(&stats->fw.out_of_res), in snic_stats_show()
285 (u64) atomic64_read(&stats->fw.io_errs), in snic_stats_show()
286 (u64) atomic64_read(&stats->fw.scsi_errs)); in snic_stats_show()
291 "\n---------------------------------------------\n" in snic_stats_show()
293 "\n---------------------------------------------\n"); in snic_stats_show()
295 jiffies_to_timespec64(stats->misc.last_isr_time, &last_isr_tms); in snic_stats_show()
296 jiffies_to_timespec64(stats->misc.last_ack_time, &last_ack_tms); in snic_stats_show()
302 "IO Cmpl ISRs : %llu\n" in snic_stats_show()
315 (u64) stats->misc.last_isr_time, in snic_stats_show()
317 (u64)stats->misc.last_ack_time, in snic_stats_show()
319 (u64) atomic64_read(&stats->misc.ack_isr_cnt), in snic_stats_show()
320 (u64) atomic64_read(&stats->misc.cmpl_isr_cnt), in snic_stats_show()
321 (u64) atomic64_read(&stats->misc.errnotify_isr_cnt), in snic_stats_show()
322 (u64) atomic64_read(&stats->misc.max_cq_ents), in snic_stats_show()
323 (u64) atomic64_read(&stats->misc.data_cnt_mismat), in snic_stats_show()
324 (u64) atomic64_read(&stats->misc.io_tmo), in snic_stats_show()
325 (u64) atomic64_read(&stats->misc.io_aborted), in snic_stats_show()
326 (u64) atomic64_read(&stats->misc.sgl_inval), in snic_stats_show()
327 (u64) atomic64_read(&stats->misc.wq_alloc_fail), in snic_stats_show()
328 (u64) atomic64_read(&stats->misc.qfull), in snic_stats_show()
329 (u64) atomic64_read(&stats->misc.qsz_rampup), in snic_stats_show()
330 (u64) atomic64_read(&stats->misc.qsz_rampdown), in snic_stats_show()
331 (u64) atomic64_read(&stats->misc.last_qsz), in snic_stats_show()
332 (u64) atomic64_read(&stats->misc.tgt_not_rdy)); in snic_stats_show()
338 * snic_stats_open - Open the stats file for specific host
346 return single_open(filp, snic_stats_show, inode->i_private); in snic_stats_open()
366 * snic_stats_init - Initialize stats struct and create stats file
378 snprintf(name, sizeof(name), "host%d", snic->shost->host_no); in snic_stats_debugfs_init()
380 snic->stats_host = debugfs_create_dir(name, snic_glob->stats_root); in snic_stats_debugfs_init()
382 snic->stats_file = debugfs_create_file("stats", S_IFREG|S_IRUGO, in snic_stats_debugfs_init()
383 snic->stats_host, snic, in snic_stats_debugfs_init()
386 snic->reset_stats_file = debugfs_create_file("reset_stats", in snic_stats_debugfs_init()
388 snic->stats_host, snic, in snic_stats_debugfs_init()
393 * snic_stats_debugfs_remove - Tear down debugfs infrastructure of stats
402 debugfs_remove(snic->stats_file); in snic_stats_debugfs_remove()
403 snic->stats_file = NULL; in snic_stats_debugfs_remove()
405 debugfs_remove(snic->reset_stats_file); in snic_stats_debugfs_remove()
406 snic->reset_stats_file = NULL; in snic_stats_debugfs_remove()
408 debugfs_remove(snic->stats_host); in snic_stats_debugfs_remove()
409 snic->stats_host = NULL; in snic_stats_debugfs_remove()
416 return &snic_glob->trc; in snic_trc_seq_start()
457 snic_glob->trc.trc_enable = debugfs_create_bool("tracing_enable", in snic_trc_debugfs_init()
459 snic_glob->trc_root, in snic_trc_debugfs_init()
460 &snic_glob->trc.enable); in snic_trc_debugfs_init()
462 snic_glob->trc.trc_file = debugfs_create_file("trace", in snic_trc_debugfs_init()
464 snic_glob->trc_root, NULL, in snic_trc_debugfs_init()
474 debugfs_remove(snic_glob->trc.trc_file); in snic_trc_debugfs_term()
475 snic_glob->trc.trc_file = NULL; in snic_trc_debugfs_term()
477 debugfs_remove(snic_glob->trc.trc_enable); in snic_trc_debugfs_term()
478 snic_glob->trc.trc_enable = NULL; in snic_trc_debugfs_term()