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-david@redhat.com
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
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.39.2