Mercurial > illumos > illumos-gate
changeset 13958:1fd91513472c
3561 arc_meta_limit should be exposed via kstats
3116 zpool reguid may log negative guids to internal SPA history
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Approved by: Garrett D'Amore <garrett@damore.org>
author | George Wilson <george.wilson@delphix.com> |
---|---|
date | Sun, 17 Feb 2013 12:00:54 -0800 |
parents | 512faafc0eaf |
children | e03e14ddfb4c |
files | usr/src/cmd/mdb/common/modules/zfs/zfs.c usr/src/uts/common/fs/zfs/arc.c usr/src/uts/common/fs/zfs/spa.c |
diffstat | 3 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/cmd/mdb/common/modules/zfs/zfs.c Tue Feb 12 12:53:43 2013 -0800 +++ b/usr/src/cmd/mdb/common/modules/zfs/zfs.c Sun Feb 17 12:00:54 2013 -0800 @@ -886,12 +886,12 @@ static const char *bytestats[] = { "p", "c", "c_min", "c_max", "size", "duplicate_buffers_size", + "arc_meta_used", "arc_meta_limit", "arc_meta_max", NULL }; static const char *extras[] = { "arc_no_grow", "arc_tempreserve", - "arc_meta_used", "arc_meta_limit", "arc_meta_max", NULL };
--- a/usr/src/uts/common/fs/zfs/arc.c Tue Feb 12 12:53:43 2013 -0800 +++ b/usr/src/uts/common/fs/zfs/arc.c Sun Feb 17 12:00:54 2013 -0800 @@ -294,6 +294,9 @@ kstat_named_t arcstat_duplicate_buffers; kstat_named_t arcstat_duplicate_buffers_size; kstat_named_t arcstat_duplicate_reads; + kstat_named_t arcstat_meta_used; + kstat_named_t arcstat_meta_limit; + kstat_named_t arcstat_meta_max; } arc_stats_t; static arc_stats_t arc_stats = { @@ -352,7 +355,10 @@ { "memory_throttle_count", KSTAT_DATA_UINT64 }, { "duplicate_buffers", KSTAT_DATA_UINT64 }, { "duplicate_buffers_size", KSTAT_DATA_UINT64 }, - { "duplicate_reads", KSTAT_DATA_UINT64 } + { "duplicate_reads", KSTAT_DATA_UINT64 }, + { "arc_meta_used", KSTAT_DATA_UINT64 }, + { "arc_meta_limit", KSTAT_DATA_UINT64 }, + { "arc_meta_max", KSTAT_DATA_UINT64 } }; #define ARCSTAT(stat) (arc_stats.stat.value.ui64) @@ -414,13 +420,13 @@ #define arc_c ARCSTAT(arcstat_c) /* target size of cache */ #define arc_c_min ARCSTAT(arcstat_c_min) /* min target cache size */ #define arc_c_max ARCSTAT(arcstat_c_max) /* max target cache size */ +#define arc_meta_limit ARCSTAT(arcstat_meta_limit) /* max size for metadata */ +#define arc_meta_used ARCSTAT(arcstat_meta_used) /* size of metadata */ +#define arc_meta_max ARCSTAT(arcstat_meta_max) /* max size of metadata */ static int arc_no_grow; /* Don't try to grow cache size */ static uint64_t arc_tempreserve; static uint64_t arc_loaned_bytes; -static uint64_t arc_meta_used; -static uint64_t arc_meta_limit; -static uint64_t arc_meta_max = 0; typedef struct l2arc_buf_hdr l2arc_buf_hdr_t; @@ -1218,7 +1224,7 @@ break; } - atomic_add_64(&arc_meta_used, space); + ARCSTAT_INCR(arcstat_meta_used, space); atomic_add_64(&arc_size, space); } @@ -1245,7 +1251,7 @@ ASSERT(arc_meta_used >= space); if (arc_meta_max < arc_meta_used) arc_meta_max = arc_meta_used; - atomic_add_64(&arc_meta_used, -space); + ARCSTAT_INCR(arcstat_meta_used, -space); ASSERT(arc_size >= space); atomic_add_64(&arc_size, -space); }
--- a/usr/src/uts/common/fs/zfs/spa.c Tue Feb 12 12:53:43 2013 -0800 +++ b/usr/src/uts/common/fs/zfs/spa.c Sun Feb 17 12:00:54 2013 -0800 @@ -715,7 +715,7 @@ vdev_config_dirty(rvd); spa_config_exit(spa, SCL_STATE, FTAG); - spa_history_log_internal(spa, "guid change", tx, "old=%lld new=%lld", + spa_history_log_internal(spa, "guid change", tx, "old=%llu new=%llu", oldguid, *newguid); }