[libvirt] [PATCH] Add debug messages for CPU incompatibility

Jiri Denemark jdenemar at redhat.com
Tue Jan 12 14:25:44 UTC 2010


When comparing incompatible CPUs, the reason for this incompatibility is
logged as a debug message.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---
 src/cpu/cpu_x86.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 7c50261..50c03ad 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -755,8 +755,10 @@ x86Compute(virCPUDefPtr host,
             }
         }
 
-        if (!found)
+        if (!found) {
+            VIR_DEBUG("CPU arch %s does not match host arch", cpu->arch);
             return VIR_CPU_COMPARE_INCOMPATIBLE;
+        }
     }
 
     if ((map = x86LoadMap()) == NULL)
@@ -796,6 +798,8 @@ x86Compute(virCPUDefPtr host,
                               cpuid1->function);
 
         if (cpuid2 != NULL && x86cpuidMatchAny(cpuid2, cpuid1)) {
+            VIR_DEBUG("Host CPU provides forbidden features in CPUID function 0x%x",
+                      cpuid1->function);
             ret = VIR_CPU_COMPARE_INCOMPATIBLE;
             goto out;
         }
@@ -803,6 +807,7 @@ x86Compute(virCPUDefPtr host,
 
     result = x86ModelCompare(host_model, cpu_require);
     if (result == SUBSET || result == UNRELATED) {
+        VIR_DEBUG0("Host CPU does not provide all required features");
         ret = VIR_CPU_COMPARE_INCOMPATIBLE;
         goto out;
     }
@@ -819,6 +824,7 @@ x86Compute(virCPUDefPtr host,
     if (ret == VIR_CPU_COMPARE_SUPERSET
         && cpu->type == VIR_CPU_TYPE_GUEST
         && cpu->match == VIR_CPU_MATCH_STRICT) {
+        VIR_DEBUG0("Host CPU does not strictly match guest CPU");
         ret = VIR_CPU_COMPARE_INCOMPATIBLE;
         goto out;
     }
-- 
1.6.6




More information about the libvir-list mailing list