diff options
author | Alexander Motin <mav@FreeBSD.org> | 2015-02-11 16:10:31 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2015-02-11 16:10:31 +0000 |
commit | 2c8cab2a4ef5d195af7e9b936f03173eb55925ba (patch) | |
tree | 979f7da853691188977fd52fe7ac2575921c6617 /sys/cam/ctl/ctl_private.h | |
parent | 56af34a74367d9e15c8697ac4f937c9a90a4ffb4 (diff) | |
download | src-2c8cab2a4ef5d195af7e9b936f03173eb55925ba.tar.gz src-2c8cab2a4ef5d195af7e9b936f03173eb55925ba.zip |
Add support for General Statistics and Performance log page.
CTL already collects most of statistics reported there, so why not.
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=278584
Diffstat (limited to 'sys/cam/ctl/ctl_private.h')
-rw-r--r-- | sys/cam/ctl/ctl_private.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl_private.h b/sys/cam/ctl/ctl_private.h index ffcb063e784b..428142c3b5e2 100644 --- a/sys/cam/ctl/ctl_private.h +++ b/sys/cam/ctl/ctl_private.h @@ -342,6 +342,8 @@ static const struct ctl_page_index log_page_index_template[] = { CTL_PAGE_FLAG_NONE, NULL, NULL}, {SLS_LOGICAL_BLOCK_PROVISIONING, 0, 0, NULL, CTL_PAGE_FLAG_NONE, ctl_lbp_log_sense_handler, NULL}, + {SLS_STAT_AND_PERF, 0, 0, NULL, + CTL_PAGE_FLAG_NONE, ctl_sap_log_sense_handler, NULL}, }; #define CTL_NUM_LOG_PAGES sizeof(log_page_index_template)/ \ @@ -351,6 +353,11 @@ struct ctl_log_pages { uint8_t pages_page[CTL_NUM_LOG_PAGES]; uint8_t subpages_page[CTL_NUM_LOG_PAGES * 2]; uint8_t lbp_page[12*CTL_NUM_LBP_PARAMS]; + struct stat_page { + struct scsi_log_stat_and_perf sap; + struct scsi_log_idle_time it; + struct scsi_log_time_interval ti; + } stat_page; struct ctl_page_index index[CTL_NUM_LOG_PAGES]; }; @@ -403,6 +410,10 @@ struct ctl_lun { struct ctl_lun_delay_info delay_info; int sync_interval; int sync_count; +#ifdef CTL_TIME_IO + sbintime_t idle_time; + sbintime_t last_busy; +#endif TAILQ_HEAD(ctl_ooaq, ctl_io_hdr) ooa_queue; TAILQ_HEAD(ctl_blockq,ctl_io_hdr) blocked_queue; STAILQ_ENTRY(ctl_lun) links; |