From: Alyssa Ross <hi@alyssa.is>
To: Albert Esteve <aesteve@redhat.com>, qemu-devel@nongnu.org
Cc: jasowang@redhat.com, slp@redhat.com,
"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
"Laurent Vivier" <lvivier@redhat.com>,
manos.pitsidianakis@linaro.org, stevensd@chromium.org,
dbassey@redhat.com, "Stefano Garzarella" <sgarzare@redhat.com>,
"Fabiano Rosas" <farosas@suse.de>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Peter Xu" <peterx@redhat.com>,
stefanha@redhat.com, "Alex Bennée" <alex.bennee@linaro.org>,
mst@redhat.com, "Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [PATCH v12 5/7] vhost_user.rst: Add GET_SHMEM_CONFIG message
Date: Thu, 05 Feb 2026 14:55:16 +0100 [thread overview]
Message-ID: <87a4xnl2gr.fsf@alyssa.is> (raw)
In-Reply-To: <20260204093758.1250167-4-aesteve@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3136 bytes --]
Albert Esteve <aesteve@redhat.com> writes:
> Add GET_SHMEM_CONFIG vhost-user frontend
> message to the spec documentation.
>
> Reviewed-by: Alyssa Ross <hi@alyssa.is>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Albert Esteve <aesteve@redhat.com>
> ---
> docs/interop/vhost-user.rst | 41 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
> index 6c1d66d7d3..e314313806 100644
> --- a/docs/interop/vhost-user.rst
> +++ b/docs/interop/vhost-user.rst
> @@ -371,6 +371,22 @@ MMAP request
> - 0: Pages are mapped read-only
> - 1: Pages are mapped read-write
>
> +VIRTIO Shared Memory Region configuration
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> ++-------------+---------+------------+----+--------------+
> +| num regions | padding | mem size 0 | .. | mem size 255 |
> ++-------------+---------+------------+----+--------------+
> +
> +:num regions: a 32-bit number of regions
> +
> +:padding: 32-bit
> +
> +:mem size: an array of 256 64-bit fields representing the size of each
> + VIRTIO Shared Memory Region. ``num regions`` specifies the
> + number of valid regions (non-zero size). The array index
> + corresponds to the shared memory ID (shmid).
> +
> C structure
> -----------
>
> @@ -397,6 +413,7 @@ In QEMU the vhost-user message is implemented with the following struct:
> VhostUserShared object;
> VhostUserTransferDeviceState transfer_state;
> VhostUserMMap mmap;
> + VhostUserShMemConfig shmem;
> };
> } QEMU_PACKED VhostUserMsg;
>
> @@ -1761,6 +1778,30 @@ Front-end message types
> Using this function requires prior negotiation of the
> ``VHOST_USER_PROTOCOL_F_DEVICE_STATE`` feature.
>
> +``VHOST_USER_GET_SHMEM_CONFIG``
> + :id: 44
> + :equivalent ioctl: N/A
> + :request payload: N/A
> + :reply payload: ``struct VhostUserShMemConfig``
> +
> + When the ``VHOST_USER_PROTOCOL_F_SHMEM`` protocol feature has been
> + successfully negotiated, this message can be submitted by the front-end
> + to gather the VIRTIO Shared Memory Region configuration. The back-end will
> + respond with the number of VIRTIO Shared Memory Regions it requires, and
> + each shared memory region size in an array. The shared memory IDs are
> + represented by the array index. The information returned shall comply
> + with the following rules:
> +
> + * The shared information will remain valid and unchanged for the entire
> + lifetime of the connection.
> +
> + * The Shared Memory Region size must be a multiple of the page size
> + supported by mmap(2).
> +
> + * The size may be 0 if the region is unused. This can happen when the
> + device does not support an optional feature but does support a feature
> + that uses a higher shmid.
This is still phrased as if unused regions after the last used one can
be ommitted. If 256 sizes are always sent, then size must be 0 for all
unused regions.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
next prev parent reply other threads:[~2026-02-07 19:05 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-04 9:37 [PATCH v12 2/7] vhost_user.rst: Align VhostUserMsg excerpt members Albert Esteve
2026-02-04 9:37 ` [PATCH v12 3/7] vhost_user.rst: Add SHMEM_MAP/_UNMAP to spec Albert Esteve
2026-02-05 13:53 ` Alyssa Ross
2026-02-09 8:38 ` Albert Esteve
2026-02-04 9:37 ` [PATCH v12 4/7] vhost_user: Add frontend get_shmem_config command Albert Esteve
2026-02-04 9:37 ` [PATCH v12 5/7] vhost_user.rst: Add GET_SHMEM_CONFIG message Albert Esteve
2026-02-05 13:55 ` Alyssa Ross [this message]
2026-02-09 8:43 ` Albert Esteve
2026-02-09 11:39 ` Alyssa Ross
2026-02-04 9:37 ` [PATCH v12 6/7] qmp: add shmem feature map Albert Esteve
2026-02-04 9:37 ` [PATCH v12 7/7] vhost-user-device: Add shared memory BAR Albert Esteve
2026-02-08 17:18 ` [PATCH v12 2/7] vhost_user.rst: Align VhostUserMsg excerpt members Michael S. Tsirkin
2026-02-09 8:32 ` Albert Esteve
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a4xnl2gr.fsf@alyssa.is \
--to=hi@alyssa.is \
--cc=aesteve@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=dbassey@redhat.com \
--cc=farosas@suse.de \
--cc=jasowang@redhat.com \
--cc=lvivier@redhat.com \
--cc=manos.pitsidianakis@linaro.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=pierrick.bouvier@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=sgarzare@redhat.com \
--cc=slp@redhat.com \
--cc=stefanha@redhat.com \
--cc=stevensd@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.