[libvirt] [PATCH 0/3 for 3.2.0] Fix host-model CPU with non-migratable features

Jiri Denemark posted 3 patches 7 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1490798631.git.jdenemar@redhat.com
src/qemu/qemu_capabilities.c                       |  96 ++-
src/qemu/qemu_monitor.c                            |   9 +-
src/qemu/qemu_monitor.h                            |   3 +
src/qemu/qemu_monitor_json.c                       |  11 +
src/qemu/qemu_monitor_json.h                       |   3 +-
tests/cputest.c                                    |   2 +-
tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml   |   1 +
.../qemucapabilitiesdata/caps_2.8.0.s390x.replies  |   8 +
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml    |   2 +-
.../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 840 +++++++++++++++++++++
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   | 368 ++++-----
11 files changed, 1148 insertions(+), 195 deletions(-)
[libvirt] [PATCH 0/3 for 3.2.0] Fix host-model CPU with non-migratable features
Posted by Jiri Denemark 7 years ago
This series fixes a regression in libvirt which would break domains with
a CPU defined as, for example:

    <cpu mode='host-model'>
      <feature name='invtsc' policy='require'/>
    </cpu>

Such domains would work just fine with libvirt <= 3.1.0 or QEMU < 2.9.0,
but they would be broken with current libvirt and QEMU >= 2.9.0.

This is because we started asking QEMU for CPU features supported by the
host CPU, by which we think all non-migratable features are not
supported because QEMU filters them out by default.

This series changes our code to properly detect even non-migratable
features, but still leaves the piece which relies on our cpu_map.xml to
filter them when someone asks for just <cpu mode='host-model'/>. Patches
which will use the data provided by QEMU instead of our static database
in cpu_map.xml will be sent soon, since they are not required to fix the
regression.

Jiri Denemark (3):
  qemuMonitorCPUModelInfo: Add support for non-migratable features
  qemu: Check migratable host CPU features
  qemu: Check non-migratable host CPU features

 src/qemu/qemu_capabilities.c                       |  96 ++-
 src/qemu/qemu_monitor.c                            |   9 +-
 src/qemu/qemu_monitor.h                            |   3 +
 src/qemu/qemu_monitor_json.c                       |  11 +
 src/qemu/qemu_monitor_json.h                       |   3 +-
 tests/cputest.c                                    |   2 +-
 tests/domaincapsschemadata/qemu_2.9.0.x86_64.xml   |   1 +
 .../qemucapabilitiesdata/caps_2.8.0.s390x.replies  |   8 +
 tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml    |   2 +-
 .../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 840 +++++++++++++++++++++
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   | 368 ++++-----
 11 files changed, 1148 insertions(+), 195 deletions(-)

-- 
2.12.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 0/3 for 3.2.0] Fix host-model CPU with non-migratable features
Posted by Ján Tomko 7 years ago
On Wed, Mar 29, 2017 at 04:53:16PM +0200, Jiri Denemark wrote:
>This series fixes a regression in libvirt which would break domains with
>a CPU defined as, for example:
>
>    <cpu mode='host-model'>
>      <feature name='invtsc' policy='require'/>
>    </cpu>
>
>Such domains would work just fine with libvirt <= 3.1.0 or QEMU < 2.9.0,
>but they would be broken with current libvirt and QEMU >= 2.9.0.
>
>This is because we started asking QEMU for CPU features supported by the
>host CPU, by which we think all non-migratable features are not
>supported because QEMU filters them out by default.
>
>This series changes our code to properly detect even non-migratable
>features, but still leaves the piece which relies on our cpu_map.xml to
>filter them when someone asks for just <cpu mode='host-model'/>. Patches
>which will use the data provided by QEMU instead of our static database
>in cpu_map.xml will be sent soon, since they are not required to fix the
>regression.
>
>Jiri Denemark (3):
>  qemuMonitorCPUModelInfo: Add support for non-migratable features
>  qemu: Check migratable host CPU features
>  qemu: Check non-migratable host CPU features

ACK series.

I'll keep the bunny ears of shame handy, just in case.

Jan
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list