summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2011-06-15 07:02:39 -0700
committerJerry Jelinek <jerry.jelinek@joyent.com>2011-06-15 07:02:39 -0700
commit76315da6d2b7afa3bae612672df14df75f351dd2 (patch)
tree674f572757eee5ec6e8665212849b29f4409fa53 /usr/src
parent80b2f8380db8945d5bea89a16dbab98235de2ad6 (diff)
downloadillumos-joyent-76315da6d2b7afa3bae612672df14df75f351dd2.tar.gz
OS-434 want way to get local zone load average from global zone
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/os/zone.c8
-rw-r--r--usr/src/uts/common/sys/zone.h3
2 files changed, 11 insertions, 0 deletions
diff --git a/usr/src/uts/common/os/zone.c b/usr/src/uts/common/os/zone.c
index 527d1ac380..870d276e69 100644
--- a/usr/src/uts/common/os/zone.c
+++ b/usr/src/uts/common/os/zone.c
@@ -2138,6 +2138,10 @@ zone_misc_kstat_update(kstat_t *ksp, int rw)
scalehrtime(&tmp);
zmp->zm_wtime.value.ui64 = tmp;
+ zmp->zm_avenrun1.value.ui32 = zone->zone_avenrun[0];
+ zmp->zm_avenrun5.value.ui32 = zone->zone_avenrun[1];
+ zmp->zm_avenrun15.value.ui32 = zone->zone_avenrun[2];
+
return (0);
}
@@ -2167,6 +2171,10 @@ zone_misc_kstat_create(zone_t *zone)
kstat_named_init(&zmp->zm_utime, "nsec_user", KSTAT_DATA_UINT64);
kstat_named_init(&zmp->zm_stime, "nsec_sys", KSTAT_DATA_UINT64);
kstat_named_init(&zmp->zm_wtime, "nsec_waitrq", KSTAT_DATA_UINT64);
+ kstat_named_init(&zmp->zm_avenrun1, "avenrun_1min", KSTAT_DATA_UINT32);
+ kstat_named_init(&zmp->zm_avenrun5, "avenrun_5min", KSTAT_DATA_UINT32);
+ kstat_named_init(&zmp->zm_avenrun15, "avenrun_15min",
+ KSTAT_DATA_UINT32);
ksp->ks_update = zone_misc_kstat_update;
ksp->ks_private = zone;
diff --git a/usr/src/uts/common/sys/zone.h b/usr/src/uts/common/sys/zone.h
index caeeff67ef..1de1385132 100644
--- a/usr/src/uts/common/sys/zone.h
+++ b/usr/src/uts/common/sys/zone.h
@@ -435,6 +435,9 @@ typedef struct {
kstat_named_t zm_utime;
kstat_named_t zm_stime;
kstat_named_t zm_wtime;
+ kstat_named_t zm_avenrun1;
+ kstat_named_t zm_avenrun5;
+ kstat_named_t zm_avenrun15;
} zone_misc_kstat_t;
typedef struct zone {