virtio: improve virtio devices initialization time
commit710fccf80d787911120145f508f9c4c664cf0e03
authorGal Hammer <ghammer@redhat.com>
Mon, 29 Jan 2018 14:20:57 +0000 (29 16:20 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 8 Feb 2018 19:06:40 +0000 (8 21:06 +0200)
tree6e9b6a0a77c994bf2480814f8cf123b37d47a544
parent76143618a5a9f33e8bc968f27b3de79d79a286c5
virtio: improve virtio devices initialization time

The loading time of a VM is quite significant when its virtio
devices use a large amount of virt-queues (e.g. a virtio-serial
device with max_ports=511). Most of the time is spend in the
creation of all the required event notifiers (ioeventfd and memory
regions).

This patch pack all the changes to the memory regions in a
single memory transaction.

Reported-by: Sitong Liu
Reported-by: Xiaoling Gao
Signed-off-by: Gal Hammer <ghammer@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Tested-by: Greg Kurz <groug@kaod.org>
hw/virtio/virtio.c