aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xenstat/libxenstat/src/xenstat.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/xenstat/libxenstat/src/xenstat.c')
-rw-r--r--tools/xenstat/libxenstat/src/xenstat.c9
1 files changed, 9 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;