[libvirt] [PATCH 2/8] Get cpu time and current memory balloon from libxl

Jim Fehlig jfehlig at novell.com
Wed Mar 23 12:58:57 UTC 2011


Markus Groß wrote:
> ---
>  src/libxl/libxl_driver.c |   16 ++++++++++++++--
>  1 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
> index ad95e2b..7ee3930 100644
> --- a/src/libxl/libxl_driver.c
> +++ b/src/libxl/libxl_driver.c
> @@ -1170,6 +1170,7 @@ libxlDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info)
>  {
>      libxlDriverPrivatePtr driver = dom->conn->privateData;
>      virDomainObjPtr vm;
> +    libxl_dominfo d_info;
>      int ret = -1;
>  
>      libxlDriverLock(driver);
> @@ -1182,10 +1183,21 @@ libxlDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info)
>          goto cleanup;
>      }
>  
> +    if (!virDomainObjIsActive(vm)) {
> +        info->cpuTime = 0;
> +        info->memory = vm->def->mem.cur_balloon;
> +    } else {
> +        if (libxl_domain_info(&driver->ctx, &d_info, dom->id) != 0) {
> +            libxlError(VIR_ERR_INTERNAL_ERROR,
> +                       _("libxl_domain_info failed for domain '%d'"), dom->id);
> +            goto cleanup;
> +        }
> +        info->cpuTime = d_info.cpu_time;
> +        info->memory = d_info.current_memkb;
> +    }
> +
>      info->state = vm->state;
> -    info->cpuTime = 0;
>      info->maxMem = vm->def->mem.max_balloon;
> -    info->memory = vm->def->mem.cur_balloon;
>      info->nrVirtCpu = vm->def->vcpus;
>      ret = 0;
>   

ACK




More information about the libvir-list mailing list