qemu/include/hw/virtio
Jason Wang 309750fad5 vhost: logs sharing
Currently we allocate one vhost log per vhost device. This is sub
optimal when:

- Guest has several device with vhost as backend
- Guest has multiqueue devices

In the above cases, we can avoid the memory allocation by sharing a
single vhost log among all the vhost devices. This is done through:

- Introducing a new vhost_log structure with refcnt inside.
- Using a global pointer to vhost_log structure that will be used. And
  introduce helper to get the log with expected log size and helper to
- drop the refcnt to the old log.
- Each vhost device still keep track of a pointer to the log that was
  used.

With above, if no resize happens, all vhost device will share a single
vhost log. During resize, a new vhost_log structure will be allocated
and made for the global pointer. And each vhost devices will drop the
refcnt to the old log.

Tested by doing scp during migration for a 2 queues virtio-net-pci.

Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2015-06-04 12:44:49 +02:00
..
dataplane virtio: use standard virtio_ring.h 2015-02-26 13:04:03 +01:00
vhost-backend.h virtio: Move extern declaration to header file 2014-08-09 00:06:32 +04:00
vhost-scsi.h vhost-scsi: add a property for booting 2015-02-11 21:47:52 +01:00
vhost.h vhost: logs sharing 2015-06-04 12:44:49 +02:00
virtio-9p.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
virtio-access.h virtio: memory accessors for endian-ambivalent targets 2014-06-29 19:39:42 +03:00
virtio-balloon.h virtio-balloon: use standard headers 2015-02-26 13:04:03 +01:00
virtio-blk.h virtio-blk: correctly dirty guest memory 2015-04-08 10:39:18 +01:00
virtio-bus.h virtio: device_plugged() can fail 2015-05-31 16:44:12 +02:00
virtio-input.h virtio-input: emulated devices [device] 2015-05-29 10:30:40 +02:00
virtio-net.h virtio-net: Move DEFINE_VIRTIO_NET_FEATURES to virtio-net 2015-04-28 17:44:39 +02:00
virtio-rng.h virtio-rng: use standard-headers 2015-02-26 13:04:04 +01:00
virtio-scsi.h virtio-scsi: Move DEFINE_VIRTIO_SCSI_FEATURES to virtio-scsi 2015-04-28 17:44:40 +02:00
virtio-serial.h virtio: serial: expose a 'guest_writable' callback for users 2015-03-19 17:35:40 +05:30
virtio.h virtio: 64bit features fixups. 2015-06-03 18:19:16 +02:00