[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 1/4] vhost-user: add new vhost user messages
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v5 1/4] vhost-user: add new vhost user messages to support virtio config space |
Date: |
Wed, 22 Nov 2017 16:49:15 +0200 |
On Fri, Nov 17, 2017 at 04:44:37AM +0800, Changpeng Liu wrote:
> Add VHOST_USER_GET_CONFIG/VHOST_USER_SET_CONFIG messages which can be
> used for live migration of vhost user devices, also vhost user devices
> can benefit from the messages to get/set virtio config space from/to the
> I/O target. For the purpose to support virtio config space change,
> VHOST_USER_SET_CONFIG_FD message is added as the event notifier
> in case virtio config space change in the I/O target.
>
> Signed-off-by: Changpeng Liu <address@hidden>
> ---
> docs/interop/vhost-user.txt | 39 ++++++++++++++++
> hw/virtio/vhost-user.c | 98
> +++++++++++++++++++++++++++++++++++++++
> hw/virtio/vhost.c | 63 +++++++++++++++++++++++++
> include/hw/virtio/vhost-backend.h | 8 ++++
> include/hw/virtio/vhost.h | 16 +++++++
> 5 files changed, 224 insertions(+)
>
> diff --git a/docs/interop/vhost-user.txt b/docs/interop/vhost-user.txt
> index 954771d..1b98388 100644
> --- a/docs/interop/vhost-user.txt
> +++ b/docs/interop/vhost-user.txt
> @@ -116,6 +116,16 @@ Depending on the request type, payload can be:
> - 3: IOTLB invalidate
> - 4: IOTLB access fail
>
> + * Virtio device config space
> + ---------------------------
> + | offset | size | payload |
> + ---------------------------
> +
> + Offset: a 32-bit offset of virtio device's configuration space
> + Size: a 32-bit size of configuration space that master wanted to change
I guess only legal values here are 1-256? But also see below. Also, we
already know the structure size.
> + Payload: a 256-bytes array holding the contents of the virtio
> + device's configuration space
> +
Why not *size* bytes? These are not performance critical but still,
why waste cycles.
> In QEMU the vhost-user message is implemented with the following struct:
>
> typedef struct VhostUserMsg {
Virtio spec says:
For device configuration access, the driver MUST use 8-bit wide
accesses for 8-bit wide fields, 16-bit wide
and aligned accesses for 16-bit wide fields and 32-bit wide and aligned
accesses for 32-bit and 64-bit wide
fields. For 64-bit fields, the driver MAY access each of the high and
low 32-bit parts of the field independently.
So if these commands mirror guest accesses, they are always 1,2,4 or 8 bytes,
and aligned.
--
MST
Re: [Qemu-devel] [PATCH v5 1/4] vhost-user: add new vhost user messages to support virtio config space,
Michael S. Tsirkin <=
[Qemu-devel] [PATCH v5 3/4] contrib/libvhost-user: enable virtio config space messages, Changpeng Liu, 2017/11/16
[Qemu-devel] [PATCH v5 2/4] vhost-user-blk: introduce a new vhost-user-blk host device, Changpeng Liu, 2017/11/16
[Qemu-devel] [PATCH v5 4/4] contrib/vhost-user-blk: introduce a vhost-user-blk sample application, Changpeng Liu, 2017/11/16