qemu-e2k/hw/virtio
David Hildenbrand e1c1915bef vhost-vdpa: Set discarding of RAM broken when initializing the backend
Similar to VFIO, vDPA will go ahead an map+pin all guest memory. Memory
that used to be discarded will get re-populated and if we
discard+re-access memory after mapping+pinning, the pages mapped into the
vDPA IOMMU will go out of sync with the actual pages mapped into the user
space page tables.

Set discarding of RAM broken such that:
- virtio-mem and vhost-vdpa run mutually exclusive
- virtio-balloon is inhibited and no memory discards will get issued

In the future, we might be able to support coordinated discarding of RAM
as used by virtio-mem and already supported by vfio via the
RamDiscardManager.

Acked-by: Jason Wang <jasowang@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Cindy Lu <lulu@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20211027130324.59791-1-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
2021-11-01 18:49:10 -04:00
..
Kconfig vhost-user-rng: Add vhost-user-rng implementation 2021-10-20 04:37:55 -04:00
meson.build vhost-user-rng-pci: Add vhost-user-rng-pci implementation 2021-10-20 04:37:55 -04:00
trace-events vdpa: Check for iova range at mappings changes 2021-10-20 04:37:55 -04:00
trace.h
vhost-backend.c hw/virtio: move vhost_set_backend_type() to vhost.c 2021-09-04 09:07:46 -04:00
vhost-scsi-pci.c
vhost-stub.c
vhost-user-blk-pci.c
vhost-user-fs-pci.c
vhost-user-fs.c vhost: Add Error parameter to vhost_dev_init() 2021-06-30 13:15:44 +02:00
vhost-user-i2c-pci.c hw/virtio: add vhost-user-i2c-pci boilerplate 2021-07-16 11:10:45 -04:00
vhost-user-i2c.c hw/virtio: add boilerplate for vhost-user-i2c device 2021-07-16 11:10:40 -04:00
vhost-user-input-pci.c
vhost-user-rng-pci.c vhost-user-rng-pci: Add vhost-user-rng-pci implementation 2021-10-20 04:37:55 -04:00
vhost-user-rng.c vhost-user-rng: Add vhost-user-rng implementation 2021-10-20 04:37:55 -04:00
vhost-user-scsi-pci.c
vhost-user-vsock-pci.c
vhost-user-vsock.c vhost-vsock: handle common features in vhost-vsock-common 2021-10-05 17:30:57 -04:00
vhost-user.c vhost-user: fix duplicated notifier MR init 2021-10-20 04:37:55 -04:00
vhost-vdpa.c vhost-vdpa: Set discarding of RAM broken when initializing the backend 2021-11-01 18:49:10 -04:00
vhost-vsock-common.c vhost-vsock: handle common features in vhost-vsock-common 2021-10-05 17:30:57 -04:00
vhost-vsock-pci.c
vhost-vsock.c vhost-vsock: handle common features in vhost-vsock-common 2021-10-05 17:30:57 -04:00
vhost.c memory: Name all the memory listeners 2021-09-30 15:30:24 +02:00
virtio-9p-pci.c
virtio-balloon-pci.c
virtio-balloon.c virtio-balloon: Fix page-poison subsection name 2021-10-05 17:30:57 -04:00
virtio-blk-pci.c
virtio-bus.c virtio-bus: introduce iommu_enabled() 2021-09-04 16:35:17 -04:00
virtio-crypto-pci.c
virtio-crypto.c
virtio-input-host-pci.c
virtio-input-pci.c
virtio-iommu-pci.c virtio-iommu: Drop base_name and change generic_name 2021-10-20 04:37:55 -04:00
virtio-iommu.c
virtio-mem-pci.c qapi: Include qom-path in MEMORY_DEVICE_SIZE_CHANGE qapi events 2021-10-02 08:43:21 +02:00
virtio-mem-pci.h
virtio-mem.c virtio-mem: Require only coordinated discards 2021-07-08 15:54:45 -04:00
virtio-mmio.c qbus: Rename qbus_create_inplace() to qbus_init() 2021-09-30 13:42:10 +01:00
virtio-net-pci.c
virtio-pci.c qbus: Rename qbus_create_inplace() to qbus_init() 2021-09-30 13:42:10 +01:00
virtio-pci.h
virtio-pmem-pci.c
virtio-pmem-pci.h
virtio-pmem.c
virtio-rng-pci.c
virtio-rng.c
virtio-scsi-pci.c
virtio-serial-pci.c
virtio.c hw/virtio: Have virtqueue_get_avail_bytes() pass caches arg to callees 2021-10-05 11:19:40 -04:00