qemu-e2k/include
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
..
block qapi: add dirty bitmap status 2015-05-29 12:53:12 +02:00
disas
exec Add stream ID to MSI write 2015-05-31 20:29:02 +02:00
fpu
hw vhost: logs sharing 2015-06-04 12:44:49 +02:00
libdecnumber
migration migration: Use an array instead of 3 parameters 2015-05-07 18:31:53 +02:00
monitor monitor: Remove unused functions 2015-04-30 16:05:48 +03:00
net net: add MAC address string printer 2015-05-11 14:49:03 +01:00
qapi qobject: Add a special null QObject 2015-05-11 08:59:07 -04:00
qemu util: move read_password method out of qemu-img into osdep/oslib 2015-05-22 17:08:01 +02:00
qom
standard-headers virtio-input: add linux/input.h 2015-05-29 10:30:06 +02:00
sysemu hw/pci: add support for NUMA nodes 2015-06-03 18:19:18 +02:00
ui gtk: add opengl support, using egl 2015-05-29 11:43:29 +02:00
config.h
elf.h linux/elf.h update 2015-05-27 17:52:03 +02:00
glib-compat.h glib: remove stale compat functions 2015-05-22 15:58:06 -04:00
qemu-common.h util: Remove unused functions 2015-04-30 16:05:48 +03:00
qemu-io.h
qjson.h
trace-tcg.h
trace.h