From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: virtio-comment@lists.oasis-open.org,
virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
sgarzare@redhat.com, stefanha@redhat.com, nrupal.jani@intel.com,
Piotr.Uminski@intel.com, hang.yuan@intel.com,
virtio@lists.oasis-open.org,
Zhu Lingshan <lingshan.zhu@intel.com>,
pasic@linux.ibm.com, Shahaf Shuler <shahafs@nvidia.com>,
Parav Pandit <parav@nvidia.com>,
Max Gurtovoy <mgurtovoy@nvidia.com>
Subject: Re: [virtio-dev] Re: [PATCH v9 02/10] admin: introduce device group and related concepts
Date: Thu, 24 Nov 2022 03:18:47 -0500 [thread overview]
Message-ID: <20221124031554-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CACGkMEtF0WLEiDPQw5W7o0f+JvkFSbX++uOc-SPYHsnFMXyJgw@mail.gmail.com>
On Thu, Nov 24, 2022 at 03:37:42PM +0800, Jason Wang wrote:
> On Thu, Nov 24, 2022 at 3:08 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Thu, Nov 24, 2022 at 01:41:41PM +0800, Jason Wang wrote:
> > > On Thu, Nov 24, 2022 at 5:08 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > Each device group has a type. For now, define one initial group:
> > > >
> > > > SR-IOV type - PCI SR-IOV virtual functions (VFs) of a given
> > > > PCI SR-IOV physical function (PF). This group may contain one or more
> > > > virtio devices.
> > > >
> > > > Each device within a group has a unique identifier. This identifier
> > > > is the group member identifier.
> > > >
> > > > Note: one can argue both ways whether the new device group handling
> > > > functionality (this and following patches) is closer
> > > > to a new device type or a new transport type.
> > > >
> > > > However, I expect that we will add more features in the near future. To
> > > > facilitate this as much as possible of the text is located in the new
> > > > admin chapter.
> > > >
> > > > I did my best to minimize transport-specific text.
> > > >
> > > > Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
> > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > > > ---
> > > > admin.tex | 45 +++++++++++++++++++++++++++++++++++++++++++++
> > > > content.tex | 2 ++
> > > > 2 files changed, 47 insertions(+)
> > > > create mode 100644 admin.tex
> > > >
> > > > diff --git a/admin.tex b/admin.tex
> > > > new file mode 100644
> > > > index 0000000..6ebdd05
> > > > --- /dev/null
> > > > +++ b/admin.tex
> > > > @@ -0,0 +1,45 @@
> > > > +\section{Device groups}\label{sec:Basic Facilities of a Virtio Device / Device groups}
> > > > +
> > > > +It is occasionally useful to have a device control a group of
> > > > +other devices. Terminology used in such cases:
> > > > +
> > > > +\begin{description}
> > > > +\item[Device group]
> > > > + or just group, includes zero or more devices.
> > > > +\item[Owner device]
> > > > + or owner, the device controlling the group.
> > > > +\item[Member device]
> > > > + a device within a group. The owner device itself is not
> > > > + a member of the group.
> > > > +\item[Member identifier]
> > > > + each member has this identifier, unique within the group
> > > > + and used to address it through the owner device.
> > > > +\item[Group type identifier]
> > > > + specifies what kind of member devices there are in a
> > > > + group, how is the member identifier is interpreted
> > > > + and what kind of control the owner has.
> > > > + A given owner can control a single group of a given type,
> > > > + thus the type and the owner together identify the group.
> > > > +\end{description}
> > > > +
> > > > +The following group types, and their identifiers, are currently specified):
> > > > +\begin{description}
> > > > +\item[SR-IOV group type (0x1)]
> > > > +This device group has a PCI Single Root I/O Virtualization
> > > > +(SR-IOV) physical function (PF) device as the owner and includes
> > > > +all its SR-IOV virtual functions (VFs) as members (see
> > > > +\hyperref[intro:PCIe]{[PCIe]}).
> > >
> > > So I wonder what's the advantage of using a global identifier over the
> > > transport specific one. There's almost no way for CCW/MMIO to use
> > > SR-IOV. Limiting it to PCI seems much easier and avoids layer
> > > violation.
> > >
> > > Thanks
> >
> > So we burn up an identifier, ccw and mmio won't be able to use it.
> > Big deal? Why?
>
> Because it is transport specific. The basic facility should be
> transport independent.
I tried this but the result is spread all over the spec
and does not result in a readable cohesive whole.
So we give up on the transport independent purity a bit and it
seems worth it.
Also explained this in the cover letter - have you seen that?
> > And I think we might find a use for this with MMIO
> > down the road with some kind of passthrough. Who knows.
>
> Probably, but can it be modeled exactly as what SR-IOV looks like? Or
> anyhow, it's not too late to define this for MMIO at that time. For
> example, we know MSI-X may work for MMIO but we define it only for PCI
> now.
>
> Thanks
Right. So if we reserve the id for all transports then it will
be easy to do.
> >
> >
> >
> > > > +
> > > > +The PF device itself is not a member of the group.
> > > > +
> > > > +The group type identifier for this group is 0x1.
> > > > +
> > > > +A member identifier for this group can have a value 0x1 to 0xFFFF
> > > > +and equals the SR-IOV VF number of the member device (see
> > > > +\hyperref[intro:PCIe]{[PCIe]}).
> > > > +
> > > > +Both owner and member devices for this group type use the Virtio
> > > > +PCI transport (see \ref{sec:Virtio Transport Options / Virtio Over PCI Bus}).
> > > > +\end{description}
> > > > +
> > > > +
> > > > diff --git a/content.tex b/content.tex
> > > > index e3203be..3f3585d 100644
> > > > --- a/content.tex
> > > > +++ b/content.tex
> > > > @@ -491,6 +491,8 @@ \section{Exporting Objects}\label{sec:Basic Facilities of a Virtio Device / Expo
> > > > types. It is RECOMMENDED that devices generate version 4
> > > > UUIDs as specified by \hyperref[intro:rfc4122]{[RFC4122]}.
> > > >
> > > > +\input{admin.tex}
> > > > +
> > > > \chapter{General Initialization And Device Operation}\label{sec:General Initialization And Device Operation}
> > > >
> > > > We start with an overview of device initialization, then expand on the
> > > > --
> > > > MST
> > > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> > For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
> >
next prev parent reply other threads:[~2022-11-24 8:18 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-23 21:07 [PATCH v9 00/10] Introduce device group and device management Michael S. Tsirkin
2022-11-23 21:08 ` [PATCH v9 01/10] virtio: document forward compatibility guarantees Michael S. Tsirkin
2022-11-24 4:33 ` Jason Wang
2022-11-24 6:59 ` Michael S. Tsirkin
2022-11-24 7:34 ` Jason Wang
2022-11-24 8:15 ` Michael S. Tsirkin
2022-11-24 12:05 ` [virtio-dev] " Cornelia Huck
2022-11-25 3:17 ` Jason Wang
2022-11-25 10:37 ` [virtio-dev] " Cornelia Huck
2022-11-28 6:14 ` Jason Wang
2022-11-23 21:08 ` [PATCH v9 02/10] admin: introduce device group and related concepts Michael S. Tsirkin
2022-11-24 5:41 ` Jason Wang
2022-11-24 7:08 ` Michael S. Tsirkin
2022-11-24 7:37 ` [virtio-dev] " Jason Wang
2022-11-24 8:18 ` Michael S. Tsirkin [this message]
2022-11-24 12:12 ` Cornelia Huck
2022-11-25 3:23 ` Jason Wang
2022-11-25 10:58 ` [virtio] " Cornelia Huck
2022-11-25 12:08 ` Michael S. Tsirkin
2022-11-23 21:08 ` [PATCH v9 03/10] admin: introduce group administration commands Michael S. Tsirkin
2022-11-24 5:52 ` [virtio-dev] " Jason Wang
2022-11-24 7:12 ` Michael S. Tsirkin
2022-11-24 7:42 ` Jason Wang
2022-11-24 8:03 ` Michael S. Tsirkin
2022-11-25 3:24 ` [virtio-comment] " Jason Wang
2022-11-24 12:21 ` [virtio-dev] " Cornelia Huck
2022-11-25 3:54 ` Jason Wang
2022-11-28 13:14 ` [virtio-comment] " Zhu Lingshan
2022-11-23 21:08 ` [PATCH v9 04/10] admin: introduce virtio admin virtqueues Michael S. Tsirkin
2022-11-28 13:12 ` [virtio-comment] " Zhu Lingshan
2022-11-23 21:08 ` [PATCH v9 05/10] pci: add admin vq registers to virtio over pci Michael S. Tsirkin
2022-11-24 6:00 ` Jason Wang
2022-11-24 7:14 ` Michael S. Tsirkin
2022-11-24 7:46 ` Jason Wang
2022-11-24 8:09 ` Michael S. Tsirkin
2022-11-25 3:27 ` Jason Wang
2022-11-23 21:08 ` [PATCH v9 06/10] mmio: document ADMIN_VQ as reserved Michael S. Tsirkin
2022-11-24 6:03 ` Jason Wang
2022-11-24 7:45 ` Michael S. Tsirkin
2022-11-23 21:08 ` [PATCH v9 07/10] ccw: " Michael S. Tsirkin
2022-11-23 21:08 ` [PATCH v9 08/10] admin: command list discovery Michael S. Tsirkin
2022-11-24 6:40 ` Jason Wang
2022-11-24 8:30 ` Michael S. Tsirkin
2022-11-25 3:38 ` [virtio-comment] " Jason Wang
2022-11-25 11:43 ` Michael S. Tsirkin
2022-11-28 4:34 ` Jason Wang
2022-11-28 7:42 ` Michael S. Tsirkin
2022-11-23 21:08 ` [PATCH v9 09/10] admin: conformance clauses Michael S. Tsirkin
2022-11-24 6:51 ` Jason Wang
2022-11-24 8:36 ` Michael S. Tsirkin
2022-11-25 3:50 ` Jason Wang
2022-11-25 11:42 ` [virtio] " Cornelia Huck
2022-11-25 11:56 ` Michael S. Tsirkin
2022-11-25 12:10 ` [virtio] " Cornelia Huck
2022-11-25 11:47 ` Michael S. Tsirkin
2022-11-28 4:32 ` Jason Wang
2022-11-28 7:39 ` Michael S. Tsirkin
2022-11-24 12:28 ` [virtio] " Cornelia Huck
2022-11-25 3:38 ` Jason Wang
2022-11-23 21:08 ` [PATCH RFC v9 10/10] ccw: document more reserved features Michael S. Tsirkin
2022-11-24 6:53 ` Jason Wang
2022-11-24 8:31 ` Michael S. Tsirkin
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=20221124031554-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=Piotr.Uminski@intel.com \
--cc=cohuck@redhat.com \
--cc=hang.yuan@intel.com \
--cc=jasowang@redhat.com \
--cc=lingshan.zhu@intel.com \
--cc=mgurtovoy@nvidia.com \
--cc=nrupal.jani@intel.com \
--cc=parav@nvidia.com \
--cc=pasic@linux.ibm.com \
--cc=sgarzare@redhat.com \
--cc=shahafs@nvidia.com \
--cc=stefanha@redhat.com \
--cc=virtio-comment@lists.oasis-open.org \
--cc=virtio-dev@lists.oasis-open.org \
--cc=virtio@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