Following up on my previous work to make virtio-mem consume multiple memslots dynamically [1] that requires precise accounting between used vs. reserved memslots, I realized that vhost makes this extra hard by filtering out some memory region sections (so they don't consume a memslot) in the vhost-user case, which messes up the whole memslot accounting.
This series fixes what I found to be broken and prepares for more work on [1]. Further, it cleanes up the merge checks that I consider unnecessary. [1] https://lkml.kernel.org/r/20211027124531.57561-8-da...@redhat.com Cc: "Michael S. Tsirkin" <m...@redhat.com> Cc: Stefan Hajnoczi <stefa...@redhat.com> Cc: Igor Mammedov <imamm...@redhat.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Peter Xu <pet...@redhat.com> Cc: "Philippe Mathieu-Daudé" <phi...@linaro.org> v2 -> v3: - Add ACKs - "softmmu/physmem: Fixup qemu_ram_block_from_host() documentation" -- Fix typo in description v1 -> v2: - "vhost: Rework memslot filtering and fix "used_memslot" tracking" -- New approach: keep filtering, but make filtering less generic and track separately. This should keep any existing setups working. - "softmmu/physmem: Fixup qemu_ram_block_from_host() documentation" -- As requested by Igor David Hildenbrand (3): vhost: Rework memslot filtering and fix "used_memslot" tracking vhost: Remove vhost_backend_can_merge() callback softmmu/physmem: Fixup qemu_ram_block_from_host() documentation hw/virtio/vhost-user.c | 21 ++--------- hw/virtio/vhost-vdpa.c | 1 - hw/virtio/vhost.c | 62 ++++++++++++++++++++++++------- include/exec/cpu-common.h | 15 ++++++++ include/hw/virtio/vhost-backend.h | 9 +---- softmmu/physmem.c | 17 --------- 6 files changed, 68 insertions(+), 57 deletions(-) -- 2.40.0