[libvirt PATCH v2 00/20] Invalidate the cpu flags cache on host cpuid mismatch

Tim Wiederhake twiederh at redhat.com
Thu Nov 4 16:27:00 UTC 2021


Many things can affect the availability of cpu features (e.g. software
upgrades, kernel versions, kernel command line, etc.) and invalidate the
cached capabilities without notice. Add CPUID information to the
capabilities cache.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1953389.

V1: https://listman.redhat.com/archives/libvir-list/2021-August/msg00138.html

Tim Wiederhake (20):
  cpu_x86: Simplify x86ParseCPUID
  cpu_x86: Simplify x86ParseMSR
  cpu_x86: Add x86ParseDataItemList
  cpu: Change virCPUArchDataParse to take xmlNodePtr
  cpu: Split up virCPUDataParse
  cpu: Add virCPUDataIsIdentical
  cpu_x86: Implement virCPUDataIsIdentical for x86
  cpu_arm: No need to protect macro definitions
  cpu_arm: Implement virCPUDataIsIdentical for arm
  cpu_ppc64: Implement virCPUDataIsIdentical for ppc64
  cpu: Add virCPUDataNewCopy
  cpu_x86: Implement virCPUDataNewCopy for x86
  cpu_arm: Implement virCPUDataNewCopy for arm
  cpu_ppc64: Implement virCPUDataNewCopy for ppc64
  virhostcpu: Add virHostCPUGetCPUID
  cpu_x86: Add virCPUDataGetHost
  cpu_x86: Implement virCPUDataGetHost for x86
  virQEMUCaps: Add host cpuid information
  virQEMUCapsCachePriv: Add host cpuid information
  qemu: Invalidate capabilities cache on host cpuid mismatch

 src/cpu/cpu.c                |  97 +++++++++++-
 src/cpu/cpu.h                |  27 +++-
 src/cpu/cpu_arm.c            |  54 ++++++-
 src/cpu/cpu_ppc64.c          |  44 ++++++
 src/cpu/cpu_x86.c            | 296 +++++++++++++++++++++++------------
 src/libvirt_private.syms     |   5 +
 src/qemu/qemu_capabilities.c |  33 +++-
 src/qemu/qemu_capspriv.h     |   3 +-
 src/util/virhostcpu.c        |  43 +++++
 src/util/virhostcpu.h        |   2 +
 tests/qemucapsprobe.c        |   2 +-
 11 files changed, 486 insertions(+), 120 deletions(-)

-- 
2.31.1





More information about the libvir-list mailing list