Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Max Gurtovoy <mgurtovoy@nvidia.com>
Cc: virtio-comment@lists.oasis-open.org, cohuck@redhat.com,
	virtio-dev@lists.oasis-open.org, jasowang@redhat.com,
	parav@nvidia.com, shahafs@nvidia.com, oren@nvidia.com,
	stefanha@redhat.com
Subject: [virtio-dev] Re: [PATCH v1 1/5] virtio: Introduce virtio subsystem
Date: Mon, 4 Apr 2022 08:03:07 -0400	[thread overview]
Message-ID: <20220404072833-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20220302155608.24189-2-mgurtovoy@nvidia.com>

On Wed, Mar 02, 2022 at 05:56:04PM +0200, Max Gurtovoy wrote:
> A virtio subsystem may contain one or more virtio devices. All of the
> devices that make up a virtio subsystem share the same virtio subsystem
> unique identifier. This identifier is the virtio qualified name (VQN).
> Each device within a virtio subsystem has a unique identifier. This
> identifier is the virtio device id (vdev_id). The combination of these
> identifiers forms a globally unique value identifies a virtio device.
> 
> Reviewed-by: Parav Pandit <parav@nvidia.com>
> Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>

OK linux and qemu releases finally settling down so I have the time
to review this, sorry about the delay.

> ---
>  introduction.tex | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/introduction.tex b/introduction.tex
> index 6d52717..8e6611e 100644
> --- a/introduction.tex
> +++ b/introduction.tex
> @@ -240,5 +240,23 @@ \section{Constant Specifications}
>  refer to values 1 and 2 of Fld respectively. Further, VIRTIO_FLD_XXX refers to
>  either VIRTIO_FLD_A or VIRTIO_FLD_B.
>  
> +\section{Definitions}\label{sec:Introduction / Definitions}

I think this belongs in Terminology section.

> +
> +\subsection{virtio device}\label{sec:Introduction / Definitions / virtio device}
> +
> +An entity that implements virtio specification.

Applies to a driver equally ... if we are trying to explain it further,
then I would say something along the lines of:

virtio specifies an interface
for a two-way communication between two parties called
a device and a driver. driver is the party that initiates
the communication setup and initialization.
in common usage device is part of a hypervisor and driver part
of a guest running within a VM on this hypervisor,
but other uses are not precluded.


> +\subsection{virtio subsystem}\label{sec:Introduction / Definitions / virtio subsystem}
> +
> +A virtio subsystem includes one or more virtio devices.
> +Each virtio subsystem has a unique virtio qualified name (VQN) that is permanent for the lifetime of the virtio subsystem.

the naming here is unfortunate. "subsystem" generally refers to
something like a group of drivers within linux, and to a type of
device in pci. VQN refers to a VQ number in the spec.

I would suggest simply "device group".

And please preface this with a bit of informal text explaining that
sometimes it is useful to refer to a group of devices
as a whole.


> +The VQN is a 128-bit UUID. It is RECOMMENDED to use UUIDs as specified by \hyperref[intro:rfc4122]{[RFC4122]}.


Do we really need the UUID at all? It is unique within which context?
Can we split the UUID from this proposal?

> +Virtio devices within one virtio subsystem share the same VQN.

share in which sense? I don't see any way to retrieve the VQN from
the device itself.

> Each virtio device has a unique virtio
> +device id (vdev_id) within a virtio subsystem. A valid vdev_id is a 64-bit field in the range of
> +0x0 - 0xFFFFFFFFFFFFFFF0.

are other values reserved?

> Vdev_id 0xFFFFFFFFFFFFFFFF is a broadcast value that is used to specify all the
> +virtio devices in a virtio subsystem and isn't a valid vdev_id.

broadcast is a bit confusing. Just say "Vdev_id value 0xFFFFFFFFFFFFFFFF
refers to all devices in a group".

I think we should also add a special value meaning "this device itself".

> +
> +The vdev_id value when combined with the VQN forms a globally unique value that identifies the virtio device.
> +
>  \newpage



> -- 
> 2.21.0


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  reply	other threads:[~2022-04-04 12:03 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-02 15:56 [PATCH v1 0/5] Introduce virtio subsystem and Admin virtqueue Max Gurtovoy
2022-03-02 15:56 ` [PATCH v1 1/5] virtio: Introduce virtio subsystem Max Gurtovoy
2022-04-04 12:03   ` Michael S. Tsirkin [this message]
2022-04-04 15:06     ` [virtio-comment] " Max Gurtovoy
2022-03-02 15:56 ` [virtio-comment] [PATCH v1 2/5] Introduce Admin Command Set Max Gurtovoy
2022-04-04 12:50   ` Michael S. Tsirkin
2022-04-04 15:35     ` Max Gurtovoy
2022-04-04 16:26       ` Michael S. Tsirkin
2022-04-05 10:58         ` [virtio-comment] " Max Gurtovoy
2022-04-05 12:28           ` [virtio-dev] " Michael S. Tsirkin
2022-04-06 17:03             ` [virtio-comment] " Max Gurtovoy
2022-03-02 15:56 ` [PATCH v1 3/5] Introduce DEVICE INFO Admin command Max Gurtovoy
2022-04-04 12:57   ` Michael S. Tsirkin
2022-04-04 15:44     ` Max Gurtovoy
2022-04-04 16:09       ` Michael S. Tsirkin
2022-04-05 11:27         ` [virtio-comment] " Max Gurtovoy
2022-04-05 12:20           ` Michael S. Tsirkin
2022-04-06 17:17             ` [virtio-comment] " Max Gurtovoy
2022-03-02 15:56 ` [PATCH v1 4/5] Add virtio Admin virtqueue Max Gurtovoy
2022-04-04 13:02   ` Michael S. Tsirkin
2022-04-04 15:49     ` Max Gurtovoy
2022-04-04 16:13       ` Michael S. Tsirkin
2022-04-05 11:13         ` [virtio-comment] " Max Gurtovoy
2022-04-05 12:32           ` [virtio-dev] " Michael S. Tsirkin
2022-03-02 15:56 ` [PATCH v1 5/5] Add miscellaneous configuration structure for PCI Max Gurtovoy
2022-04-04 13:04   ` Michael S. Tsirkin
2022-04-04 15:52     ` Max Gurtovoy
2022-04-04 16:16       ` Michael S. Tsirkin
2022-04-05 11:20         ` [virtio-comment] " Max Gurtovoy
2022-04-05 12:12           ` Michael S. Tsirkin
2022-03-09  7:42 ` [PATCH v1 0/5] Introduce virtio subsystem and Admin virtqueue Michael S. Tsirkin
2022-03-10 10:38   ` Max Gurtovoy
2022-03-10 12:49     ` Michael S. Tsirkin
2022-03-10 13:08       ` Max Gurtovoy
2022-03-20 21:41         ` [virtio-comment] " Michael S. Tsirkin
2022-03-27 15:40           ` Max Gurtovoy

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=20220404072833-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=mgurtovoy@nvidia.com \
    --cc=oren@nvidia.com \
    --cc=parav@nvidia.com \
    --cc=shahafs@nvidia.com \
    --cc=stefanha@redhat.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox