[PATCH v2 0/6] qemu: Use memory-backend-* for regular guest memory

Daniel Henrique Barboza danielhb413 at gmail.com
Wed Sep 23 20:50:43 UTC 2020



On 9/17/20 6:35 AM, Michal Privoznik wrote:
> v2 of:
> 
> https://www.redhat.com/archives/libvir-list/2020-September/msg00023.html
> 
> diff to v1:
> - I've dropped the capability (patch 5/7 in the original set) and am
>    relying on qemu providing default-ram-id.
> 
> 
> I've tested migration from a daemon with these patches to a daemon
> without and also vice versa and it worked.


Reviewed-by: Daniel Henrique Barboza <danielhb413 at gmail.com>


FYI, patch 01 doesn't apply in master after 63af8fdeb2f6. It's a
trivial conflict to solve though (just switch places between
mem-path and prealloc).




Thanks,


DHB


> 
> Michal Prívozník (6):
>    qemuBuildMemoryBackendProps: Move @prealloc setting to backend
>      agnostic part
>    qemuBuildMemoryBackendProps: Respect
>      //memoryBacking/allocation/@mode=immediate
>    qemuBuildMemoryBackendProps: Prealloc mem for memfd backend
>    qemuBuildMemoryBackendProps: Fix const correctness
>    qemu: Track default-ram-id machine attribute
>    qemu: Use memory-backend-* for regular guest memory
> 
>   src/qemu/qemu_capabilities.c                  |  35 +++-
>   src/qemu/qemu_capabilities.h                  |   3 +
>   src/qemu/qemu_capspriv.h                      |   3 +-
>   src/qemu/qemu_command.c                       |  96 +++++++--
>   src/qemu/qemu_command.h                       |   4 +-
>   src/qemu/qemu_monitor.c                       |   1 +
>   src/qemu/qemu_monitor.h                       |   1 +
>   src/qemu/qemu_monitor_json.c                  |  11 +
>   .../caps_5.2.0.x86_64.xml                     | 196 +++++++++---------
>   .../blkdeviotune-group-num.x86_64-latest.args |   3 +-
>   ...blkdeviotune-max-length.x86_64-latest.args |   3 +-
>   .../blkdeviotune-max.x86_64-latest.args       |   3 +-
>   .../channel-unix-guestfwd.x86_64-latest.args  |   3 +-
>   .../console-virtio-unix.x86_64-latest.args    |   3 +-
>   .../controller-virtio-scsi.x86_64-latest.args |   3 +-
>   ...-Icelake-Server-pconfig.x86_64-latest.args |   3 +-
>   .../cpu-translation.x86_64-latest.args        |   3 +-
>   .../cputune-cpuset-big-id.x86_64-latest.args  |   3 +-
>   .../disk-aio-io_uring.x86_64-latest.args      |   3 +-
>   .../disk-aio.x86_64-latest.args               |   3 +-
>   ...-backing-chains-noindex.x86_64-latest.args |   3 +-
>   .../disk-cache.x86_64-latest.args             |   4 +-
>   .../disk-cdrom-bus-other.x86_64-latest.args   |   3 +-
>   ...m-empty-network-invalid.x86_64-latest.args |   3 +-
>   .../disk-cdrom-network.x86_64-latest.args     |   3 +-
>   .../disk-cdrom-tray.x86_64-latest.args        |   3 +-
>   .../disk-cdrom.x86_64-latest.args             |   3 +-
>   .../disk-copy_on_read.x86_64-latest.args      |   3 +-
>   .../disk-detect-zeroes.x86_64-latest.args     |   3 +-
>   .../disk-discard.x86_64-latest.args           |   3 +-
>   .../disk-error-policy.x86_64-latest.args      |   3 +-
>   .../disk-floppy-q35-2_11.x86_64-latest.args   |   4 +-
>   .../disk-floppy-q35-2_9.x86_64-latest.args    |   4 +-
>   .../disk-floppy.x86_64-latest.args            |   3 +-
>   .../disk-network-gluster.x86_64-latest.args   |   3 +-
>   .../disk-network-http.x86_64-latest.args      |   3 +-
>   .../disk-network-iscsi.x86_64-latest.args     |   3 +-
>   .../disk-network-nbd.x86_64-latest.args       |   3 +-
>   .../disk-network-rbd.x86_64-latest.args       |   3 +-
>   .../disk-network-sheepdog.x86_64-latest.args  |   3 +-
>   ...isk-network-source-auth.x86_64-latest.args |   3 +-
>   ...isk-network-tlsx509-nbd.x86_64-latest.args |   3 +-
>   .../disk-nvme.x86_64-latest.args              |   3 +-
>   .../disk-readonly-disk.x86_64-latest.args     |   3 +-
>   .../disk-scsi-device-auto.x86_64-latest.args  |   3 +-
>   .../disk-scsi.x86_64-latest.args              |   3 +-
>   .../disk-shared.x86_64-latest.args            |   3 +-
>   .../disk-slices.x86_64-latest.args            |   3 +-
>   ...irtio-scsi-reservations.x86_64-latest.args |   3 +-
>   .../eoi-disabled.x86_64-latest.args           |   3 +-
>   .../eoi-enabled.x86_64-latest.args            |   3 +-
>   .../floppy-drive-fat.x86_64-latest.args       |   3 +-
>   .../qemuxml2argvdata/fs9p.x86_64-latest.args  |   3 +-
>   .../genid-auto.x86_64-latest.args             |   3 +-
>   .../qemuxml2argvdata/genid.x86_64-latest.args |   3 +-
>   ...egl-headless-rendernode.x86_64-latest.args |   3 +-
>   .../graphics-egl-headless.x86_64-latest.args  |   3 +-
>   ...pice-gl-auto-rendernode.x86_64-latest.args |   3 +-
>   ...graphics-vnc-tls-secret.x86_64-latest.args |   3 +-
>   .../graphics-vnc-tls.x86_64-latest.args       |   3 +-
>   ...tdev-mdev-display-ramfb.x86_64-latest.args |   3 +-
>   ...play-spice-egl-headless.x86_64-latest.args |   3 +-
>   ...ev-display-spice-opengl.x86_64-latest.args |   3 +-
>   ...isplay-vnc-egl-headless.x86_64-latest.args |   3 +-
>   ...ostdev-mdev-display-vnc.x86_64-latest.args |   3 +-
>   .../hostdev-scsi-lsi.x86_64-latest.args       |   3 +-
>   ...ostdev-scsi-virtio-scsi.x86_64-latest.args |   3 +-
>   .../qemuxml2argvdata/hugepages-memaccess.args |  30 +--
>   .../hugepages-memaccess2.args                 |  12 +-
>   .../hugepages-numa-nodeset-part.args          |   5 +-
>   .../hugepages-numa-nodeset.args               |  20 +-
>   .../hugepages-nvdimm.x86_64-latest.args       |  15 +-
>   tests/qemuxml2argvdata/hugepages-shared.args  |  24 +--
>   .../hyperv-off.x86_64-latest.args             |   3 +-
>   .../hyperv-panic.x86_64-latest.args           |   3 +-
>   .../hyperv-stimer-direct.x86_64-latest.args   |   3 +-
>   .../hyperv.x86_64-latest.args                 |   3 +-
>   .../intel-iommu-aw-bits.x86_64-latest.args    |   4 +-
>   ...ntel-iommu-caching-mode.x86_64-latest.args |   4 +-
>   ...ntel-iommu-device-iotlb.x86_64-latest.args |   4 +-
>   .../intel-iommu-eim.x86_64-latest.args        |   4 +-
>   .../intel-iommu.x86_64-latest.args            |   3 +-
>   ...threads-virtio-scsi-pci.x86_64-latest.args |   3 +-
>   .../kvmclock+eoi-disabled.x86_64-latest.args  |   3 +-
>   ...luks-disks-source-qcow2.x86_64-latest.args |   4 +-
>   ...memory-default-hugepage.x86_64-latest.args |   8 +-
>   .../memfd-memory-numa.x86_64-latest.args      |   8 +-
>   .../memory-hotplug-dimm-addr.args             |   6 +-
>   .../qemuxml2argvdata/memory-hotplug-dimm.args |   6 +-
>   ...y-hotplug-nvdimm-access.x86_64-latest.args |   8 +-
>   ...ry-hotplug-nvdimm-align.x86_64-latest.args |   8 +-
>   ...ry-hotplug-nvdimm-label.x86_64-latest.args |   8 +-
>   ...ory-hotplug-nvdimm-pmem.x86_64-latest.args |   8 +-
>   ...ory-hotplug-nvdimm-ppc64.ppc64-latest.args |   2 +-
>   ...hotplug-nvdimm-readonly.x86_64-latest.args |   8 +-
>   .../memory-hotplug-nvdimm.x86_64-latest.args  |   6 +-
>   .../mlock-off.x86_64-latest.args              |   3 +-
>   .../mlock-on.x86_64-latest.args               |   3 +-
>   .../net-vhostuser.x86_64-latest.args          |   3 +-
>   .../numatune-hmat.x86_64-latest.args          |   4 +-
>   .../os-firmware-bios.x86_64-latest.args       |   4 +-
>   ...os-firmware-efi-secboot.x86_64-latest.args |   4 +-
>   .../os-firmware-efi.x86_64-latest.args        |   4 +-
>   .../qemuxml2argvdata/pages-dimm-discard.args  |   4 +-
>   .../parallel-unix-chardev.x86_64-latest.args  |   3 +-
>   ...cie-root-port-nohotplug.x86_64-latest.args |   3 +-
>   .../pv-spinlock-disabled.x86_64-latest.args   |   3 +-
>   .../pv-spinlock-enabled.x86_64-latest.args    |   3 +-
>   .../qemu-ns.x86_64-latest.args                |   3 +-
>   .../serial-unix-chardev.x86_64-latest.args    |   3 +-
>   ...rtcard-passthrough-unix.x86_64-latest.args |   3 +-
>   .../tpm-emulator-tpm2-enc.x86_64-latest.args  |   4 +-
>   .../tpm-emulator-tpm2.x86_64-latest.args      |   4 +-
>   .../tpm-emulator.x86_64-latest.args           |   4 +-
>   .../tpm-passthrough-crb.x86_64-latest.args    |   4 +-
>   .../tpm-passthrough.x86_64-latest.args        |   4 +-
>   .../tseg-explicit-size.x86_64-latest.args     |   4 +-
>   .../usb-redir-unix.x86_64-latest.args         |   3 +-
>   tests/qemuxml2argvdata/user-aliases.args      |  16 +-
>   ...vhost-user-fs-fd-memory.x86_64-latest.args |   4 +-
>   ...vhost-user-fs-hugepages.x86_64-latest.args |  10 +-
>   ...host-user-gpu-secondary.x86_64-latest.args |   3 +-
>   .../vhost-user-vga.x86_64-latest.args         |   3 +-
>   .../vhost-vsock-auto.x86_64-latest.args       |   4 +-
>   .../vhost-vsock.x86_64-latest.args            |   3 +-
>   ...eo-bochs-display-device.x86_64-latest.args |   3 +-
>   ...video-qxl-device-vram64.x86_64-latest.args |   3 +-
>   ...o-qxl-sec-device-vram64.x86_64-latest.args |   3 +-
>   ...eo-ramfb-display-device.x86_64-latest.args |   3 +-
>   .../virtio-9p-multidevs.x86_64-latest.args    |   3 +-
>   ...virtio-non-transitional.x86_64-latest.args |   3 +-
>   ...-options-controller-ats.x86_64-latest.args |   3 +-
>   ...ptions-controller-iommu.x86_64-latest.args |   3 +-
>   ...tions-controller-packed.x86_64-latest.args |   3 +-
>   ...virtio-options-disk-ats.x86_64-latest.args |   3 +-
>   ...rtio-options-disk-iommu.x86_64-latest.args |   3 +-
>   ...tio-options-disk-packed.x86_64-latest.args |   3 +-
>   .../virtio-options-fs-ats.x86_64-latest.args  |   3 +-
>   ...virtio-options-fs-iommu.x86_64-latest.args |   3 +-
>   ...irtio-options-fs-packed.x86_64-latest.args |   3 +-
>   ...irtio-options-input-ats.x86_64-latest.args |   3 +-
>   ...tio-options-input-iommu.x86_64-latest.args |   3 +-
>   ...io-options-input-packed.x86_64-latest.args |   3 +-
>   ...-options-memballoon-ats.x86_64-latest.args |   3 +-
>   ...ptions-memballoon-iommu.x86_64-latest.args |   3 +-
>   ...tions-memballoon-packed.x86_64-latest.args |   3 +-
>   .../virtio-options-net-ats.x86_64-latest.args |   3 +-
>   ...irtio-options-net-iommu.x86_64-latest.args |   3 +-
>   ...rtio-options-net-packed.x86_64-latest.args |   3 +-
>   .../virtio-options-rng-ats.x86_64-latest.args |   3 +-
>   ...irtio-options-rng-iommu.x86_64-latest.args |   3 +-
>   ...rtio-options-rng-packed.x86_64-latest.args |   3 +-
>   ...irtio-options-video-ats.x86_64-latest.args |   3 +-
>   ...tio-options-video-iommu.x86_64-latest.args |   3 +-
>   ...io-options-video-packed.x86_64-latest.args |   3 +-
>   .../virtio-options.x86_64-latest.args         |   3 +-
>   .../virtio-rng-builtin.x86_64-latest.args     |   3 +-
>   .../virtio-rng-egd-unix.x86_64-latest.args    |   3 +-
>   .../virtio-transitional.x86_64-latest.args    |   3 +-
>   ...-default-cpu-kvm-pc-4.2.x86_64-latest.args |   4 +-
>   ...default-cpu-kvm-q35-4.2.x86_64-latest.args |   4 +-
>   ...-default-cpu-tcg-pc-4.2.x86_64-latest.args |   4 +-
>   ...default-cpu-tcg-q35-4.2.x86_64-latest.args |   4 +-
>   .../x86_64-pc-graphics.x86_64-latest.args     |   3 +-
>   .../x86_64-pc-headless.x86_64-latest.args     |   3 +-
>   .../x86_64-q35-graphics.x86_64-latest.args    |   3 +-
>   .../x86_64-q35-headless.x86_64-latest.args    |   3 +-
>   tests/testutilsqemu.c                         |  24 ++-
>   168 files changed, 667 insertions(+), 357 deletions(-)
> 




More information about the libvir-list mailing list