[libvirt] [PATCH] Add entry point logging for cpu functions

Daniel Veillard veillard at redhat.com
Thu Mar 25 13:05:32 UTC 2010


On Wed, Mar 24, 2010 at 03:52:56PM +0100, Jiri Denemark wrote:
> ---
>  src/cpu/cpu.c |   46 ++++++++++++++++++++++++++++++++++++++++++++--
>  1 files changed, 44 insertions(+), 2 deletions(-)
> 
> diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c
> index be0f15e..183862a 100644
> --- a/src/cpu/cpu.c
> +++ b/src/cpu/cpu.c
> @@ -23,6 +23,7 @@
>  
>  #include <config.h>
>  
> +#include "logging.h"
>  #include "memory.h"
>  #include "xml.h"
>  #include "cpu.h"
> @@ -73,6 +74,8 @@ cpuCompareXML(virCPUDefPtr host,
>      virCPUDefPtr cpu = NULL;
>      virCPUCompareResult ret = VIR_CPU_COMPARE_ERROR;
>  
> +    VIR_DEBUG("host=%p, xml=%s", host, NULLSTR(xml));
> +
>      if (!(doc = virXMLParseString(xml, "cpu.xml")))
>          goto cleanup;
>  
> @@ -104,6 +107,8 @@ cpuCompare(virCPUDefPtr host,
>  {
>      struct cpuArchDriver *driver;
>  
> +    VIR_DEBUG("host=%p, cpu=%p", host, cpu);
> +
>      if ((driver = cpuGetSubDriver(host->arch)) == NULL)
>          return VIR_CPU_COMPARE_ERROR;
>  
> @@ -126,6 +131,13 @@ cpuDecode(virCPUDefPtr cpu,
>  {
>      struct cpuArchDriver *driver;
>  
> +    VIR_DEBUG("cpu=%p, data=%p, nmodels=%u", cpu, data, nmodels);
> +    if (models) {
> +        unsigned int i;
> +        for (i = 0; i < nmodels; i++)
> +            VIR_DEBUG("models[%u]=%s", i, NULLSTR(models[i]));
> +    }
> +
>      if (models == NULL && nmodels != 0) {
>          virCPUReportError(VIR_ERR_INTERNAL_ERROR,
>                  "%s", _("nonzero nmodels doesn't match with NULL models"));
> @@ -163,6 +175,11 @@ cpuEncode(const char *arch,
>  {
>      struct cpuArchDriver *driver;
>  
> +    VIR_DEBUG("arch=%s, cpu=%p, forced=%p, required=%p, "
> +              "optional=%p, disabled=%p, forbidden=%p",
> +              NULLSTR(arch), cpu, forced, required,
> +              optional, disabled, forbidden);
> +
>      if ((driver = cpuGetSubDriver(arch)) == NULL)
>          return -1;
>  
> @@ -184,6 +201,8 @@ cpuDataFree(const char *arch,
>  {
>      struct cpuArchDriver *driver;
>  
> +    VIR_DEBUG("arch=%s, data=%p", NULLSTR(arch), data);
> +
>      if (data == NULL)
>          return;
>  
> @@ -206,6 +225,8 @@ cpuNodeData(const char *arch)
>  {
>      struct cpuArchDriver *driver;
>  
> +    VIR_DEBUG("arch=%s", NULLSTR(arch));
> +
>      if ((driver = cpuGetSubDriver(arch)) == NULL)
>          return NULL;
>  
> @@ -227,6 +248,8 @@ cpuGuestData(virCPUDefPtr host,
>  {
>      struct cpuArchDriver *driver;
>  
> +    VIR_DEBUG("host=%p, guest=%p, data=%p", host, guest, data);
> +
>      if ((driver = cpuGetSubDriver(host->arch)) == NULL)
>          return VIR_CPU_COMPARE_ERROR;
>  
> @@ -254,6 +277,16 @@ cpuBaselineXML(const char **xmlCPUs,
>      char *cpustr;
>      unsigned int i;
>  
> +    VIR_DEBUG("ncpus=%u, nmodels=%u", ncpus, nmodels);
> +    if (xmlCPUs) {
> +        for (i = 0; i < ncpus; i++)
> +            VIR_DEBUG("xmlCPUs[%u]=%s", i, NULLSTR(xmlCPUs[i]));
> +    }
> +    if (models) {
> +        for (i = 0; i < nmodels; i++)
> +            VIR_DEBUG("models[%u]=%s", i, NULLSTR(models[i]));
> +    }
> +
>      if (xmlCPUs == NULL && ncpus != 0) {
>          virCPUReportError(VIR_ERR_INTERNAL_ERROR,
>                  "%s", _("nonzero ncpus doesn't match with NULL xmlCPUs"));
> @@ -320,6 +353,17 @@ cpuBaseline(virCPUDefPtr *cpus,
>  {
>      struct cpuArchDriver *driver;
>      virCPUDefPtr cpu;
> +    unsigned int i;
> +
> +    VIR_DEBUG("ncpus=%u, nmodels=%u", ncpus, nmodels);
> +    if (cpus) {
> +        for (i = 0; i < ncpus; i++)
> +            VIR_DEBUG("cpus[%u]=%p", i, cpus[i]);
> +    }
> +    if (models) {
> +        for (i = 0; i < nmodels; i++)
> +            VIR_DEBUG("models[%u]=%s", i, NULLSTR(models[i]));
> +    }
>  
>      if (cpus == NULL && ncpus != 0) {
>          virCPUReportError(VIR_ERR_INTERNAL_ERROR,
> @@ -349,8 +393,6 @@ cpuBaseline(virCPUDefPtr *cpus,
>      }
>  
>      if ((cpu = driver->baseline(cpus, ncpus, models, nmodels))) {
> -        int i;
> -
>          cpu->type = VIR_CPU_TYPE_GUEST;
>          cpu->match = VIR_CPU_MATCH_EXACT;
>          VIR_FREE(cpu->arch);

  ACK,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list