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

Michal Prívozník mprivozn at redhat.com
Fri Nov 5 15:30:14 UTC 2021


On 11/4/21 5:27 PM, Tim Wiederhake wrote:
> 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(-)
> 

Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

Michal




More information about the libvir-list mailing list