summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorYajun Wu2022-10-17 08:44:52 +0200
committerMichael S. Tsirkin2022-11-07 20:08:17 +0100
commit923b8921d210763359e96246a58658ac0db6c645 (patch)
tree8e2d3ec4a6e21e5d244f0d94b0d547f7714843f6 /include
parentvhost: Change the sequence of device start (diff)
downloadqemu-923b8921d210763359e96246a58658ac0db6c645.tar.gz
qemu-923b8921d210763359e96246a58658ac0db6c645.tar.xz
qemu-923b8921d210763359e96246a58658ac0db6c645.zip
vhost-user: Support vhost_dev_start
The motivation of adding vhost-user vhost_dev_start support is to improve backend configuration speed and reduce live migration VM downtime. Today VQ configuration is issued one by one. For virtio net with multi-queue support, backend needs to update RSS (Receive side scaling) on every rx queue enable. Updating RSS is time-consuming (typical time like 7ms). Implement already defined vhost status and message in the vhost specification [1]. (a) VHOST_USER_PROTOCOL_F_STATUS (b) VHOST_USER_SET_STATUS (c) VHOST_USER_GET_STATUS Send message VHOST_USER_SET_STATUS with VIRTIO_CONFIG_S_DRIVER_OK for device start and reset(0) for device stop. On reception of the DRIVER_OK message, backend can apply the needed setting only once (instead of incremental) and also utilize parallelism on enabling queues. This improves QEMU's live migration downtime with vhost user backend implementation by great margin, specially for the large number of VQs of 64 from 800 msec to 250 msec. [1] https://qemu-project.gitlab.io/qemu/interop/vhost-user.html Signed-off-by: Yajun Wu <yajunw@nvidia.com> Acked-by: Parav Pandit <parav@nvidia.com> Message-Id: <20221017064452.1226514-3-yajunw@nvidia.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions