diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-12-01 13:38:18 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-12-01 13:38:18 +0000 |
commit | fc50aaf0d87ae5a59ba849795ad7740b242f6e56 (patch) | |
tree | e6fae5c8cf73ede15f4944f7e0ba95b31d0645d8 /tools/xenstat/libxenstat | |
parent | 1fd93d4f8cb8e3a2f5cbf27aaee7dea25842b55b (diff) | |
download | xen-fc50aaf0d87ae5a59ba849795ad7740b242f6e56.tar.gz xen-fc50aaf0d87ae5a59ba849795ad7740b242f6e56.tar.bz2 xen-fc50aaf0d87ae5a59ba849795ad7740b242f6e56.zip |
xentop: Add tmem-freeable info when tmem is active
(No change to xentop output when tmem is inactive.)
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Diffstat (limited to 'tools/xenstat/libxenstat')
-rw-r--r-- | tools/xenstat/libxenstat/src/xenstat.c | 9 | ||||
-rw-r--r-- | tools/xenstat/libxenstat/src/xenstat.h | 3 | ||||
-rw-r--r-- | tools/xenstat/libxenstat/src/xenstat_priv.h | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/tools/xenstat/libxenstat/src/xenstat.c b/tools/xenstat/libxenstat/src/xenstat.c index 3332051363..67d861fd55 100644 --- a/tools/xenstat/libxenstat/src/xenstat.c +++ b/tools/xenstat/libxenstat/src/xenstat.c @@ -154,6 +154,7 @@ xenstat_node *xenstat_get_node(xenstat_handle * handle, unsigned int flags) return NULL; } + node->cpu_hz = ((unsigned long long)physinfo.cpu_khz) * 1000ULL; node->num_cpus = physinfo.nr_cpus; node->tot_mem = ((unsigned long long)physinfo.total_pages) @@ -161,6 +162,9 @@ xenstat_node *xenstat_get_node(xenstat_handle * handle, unsigned int flags) node->free_mem = ((unsigned long long)physinfo.free_pages) * handle->page_size; + node->freeable_mb = (long)xc_tmem_control(handle->xc_handle, -1, + TMEMC_QUERY_FREEABLE_MB, -1, 0, 0, 0, NULL); + /* malloc(0) is not portable, so allocate a single domain. This will * be resized below. */ node->domains = malloc(sizeof(xenstat_domain)); @@ -304,6 +308,11 @@ unsigned long long xenstat_node_free_mem(xenstat_node * node) return node->free_mem; } +long xenstat_node_freeable_mb(xenstat_node * node) +{ + return node->freeable_mb; +} + unsigned int xenstat_node_num_domains(xenstat_node * node) { return node->num_domains; diff --git a/tools/xenstat/libxenstat/src/xenstat.h b/tools/xenstat/libxenstat/src/xenstat.h index dfc27d4d2c..1da354b22a 100644 --- a/tools/xenstat/libxenstat/src/xenstat.h +++ b/tools/xenstat/libxenstat/src/xenstat.h @@ -69,6 +69,9 @@ unsigned long long xenstat_node_tot_mem(xenstat_node * node); /* Get amount of free memory on a node */ unsigned long long xenstat_node_free_mem(xenstat_node * node); +/* Get amount of tmem freeable memory (in MiB) on a node */ +long xenstat_node_freeable_mb(xenstat_node * node); + /* Find the number of domains existing on a node */ unsigned int xenstat_node_num_domains(xenstat_node * node); diff --git a/tools/xenstat/libxenstat/src/xenstat_priv.h b/tools/xenstat/libxenstat/src/xenstat_priv.h index ca11d1b3d0..af955014ae 100644 --- a/tools/xenstat/libxenstat/src/xenstat_priv.h +++ b/tools/xenstat/libxenstat/src/xenstat_priv.h @@ -49,6 +49,7 @@ struct xenstat_node { unsigned long long free_mem; unsigned int num_domains; xenstat_domain *domains; /* Array of length num_domains */ + long freeable_mb; }; struct xenstat_domain { |