[libvirt] [PATCH 9/9] qemu: Use more data for comparing CPUs

Jiri Denemark jdenemar at redhat.com
Wed Apr 19 14:49:39 UTC 2017


On Wed, Apr 19, 2017 at 16:02:48 +0200, Pavel Hrdina wrote:
> On Thu, Apr 13, 2017 at 03:32:58PM +0200, Jiri Denemark wrote:
> > With QEMU older than 2.9.0 libvirt uses CPUID instruction to determine
> > what CPU features are supported on the host. This was later used when
> > checking compatibility of guest CPUs. Since QEMU 2.9.0 we ask QEMU for
> > the host CPU data. But the two methods we use usually provide disjoint
> > sets of CPU features because QEMU/KVM does not support all features
> > provided by the host CPU and on the other hand it can enable some
> > feature even if the host CPU does not support them.
> > 
> > So if there is a domain which requires a CPU features disabled by
> > QEMU/KVM, libvirt will refuse to start it with QEMU > 2.9.0 as its guest
> > CPU is incompatible with the host CPU data we got from QEMU. But such
> > domain would happily start on older QEMU (of course, the features would
> > be missing the guest CPU). To fix this regression, we need to combine
> > both CPU feature sets when checking guest CPU compatibility.
> > 
> > https://bugzilla.redhat.com/show_bug.cgi?id=1439933
> > 
> > Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> > ---
> >  src/qemu/qemu_capabilities.c | 35 +++++++++++++++++++++++++++++++++--
> >  src/qemu/qemu_capabilities.h |  4 ++++
> >  src/qemu/qemu_process.c      |  2 +-
> >  3 files changed, 38 insertions(+), 3 deletions(-)
> 
> ACK

Thanks, I pushed this series.

Jirka




More information about the libvir-list mailing list