diff options
author | Matthew Ahrens <[email protected]> | 2013-08-26 17:09:29 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2013-10-31 09:16:03 -0700 |
commit | 330847ff36146a427a48e79a9733dda3828284e8 (patch) | |
tree | db3a98b0b3b48203aad38ebc4d92aa837c6764d7 /include/sys/zfs_context.h | |
parent | a117a6d66e5cf1e9d4f173bccc786a169e9a8e04 (diff) |
Illumos #3537
3537 want pool io kstats
Reviewed by: George Wilson <[email protected]>
Reviewed by: Adam Leventhal <[email protected]>
Reviewed by: Eric Schrock <[email protected]>
Reviewed by: Sa?o Kiselkov <[email protected]>
Reviewed by: Garrett D'Amore <[email protected]>
Reviewed by: Brendan Gregg <[email protected]>
Approved by: Gordon Ross <[email protected]>
References:
http://www.illumos.org/issues/3537
illumos/illumos-gate@c3a6601
Ported by: Cyril Plisko <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Porting Notes:
1. The patch was restructured to take advantage of the existing
spa statistics infrastructure. To accomplish this the kstat
was moved in to spa->io_stats and the init/destroy code moved
to spa_stats.c.
2. The I/O kstat was simply named <pool> which conflicted with the
pool directory we had already created. Therefore it was renamed
to <pool>/io
3. An update handler was added to allow the kstat to be zeroed.
Diffstat (limited to 'include/sys/zfs_context.h')
-rw-r--r-- | include/sys/zfs_context.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h index dfd11d9f1..7910e08aa 100644 --- a/include/sys/zfs_context.h +++ b/include/sys/zfs_context.h @@ -344,10 +344,16 @@ extern void cv_broadcast(kcondvar_t *cv); /* * kstat creation, installation and deletion */ -extern kstat_t *kstat_create(char *, int, - char *, char *, uchar_t, ulong_t, uchar_t); +extern kstat_t *kstat_create(const char *, int, + const char *, const char *, uchar_t, ulong_t, uchar_t); extern void kstat_install(kstat_t *); extern void kstat_delete(kstat_t *); +extern void kstat_waitq_enter(kstat_io_t *); +extern void kstat_waitq_exit(kstat_io_t *); +extern void kstat_runq_enter(kstat_io_t *); +extern void kstat_runq_exit(kstat_io_t *); +extern void kstat_waitq_to_runq(kstat_io_t *); +extern void kstat_runq_back_to_waitq(kstat_io_t *); extern void kstat_set_raw_ops(kstat_t *ksp, int (*headers)(char *buf, size_t size), int (*data)(char *buf, size_t size, void *data), |