All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: "Michael S. Tsirkin" <mst@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 15:37:42 +0800	[thread overview]
Message-ID: <CACGkMEtF0WLEiDPQw5W7o0f+JvkFSbX++uOc-SPYHsnFMXyJgw@mail.gmail.com> (raw)
In-Reply-To: <20221124020650-mutt-send-email-mst@kernel.org>

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.

> 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

>
>
>
> > > +
> > > +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
>


  reply	other threads:[~2022-11-24  7:37 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       ` Jason Wang [this message]
2022-11-24  8:18         ` [virtio-dev] " Michael S. Tsirkin
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=CACGkMEtF0WLEiDPQw5W7o0f+JvkFSbX++uOc-SPYHsnFMXyJgw@mail.gmail.com \
    --to=jasowang@redhat.com \
    --cc=Piotr.Uminski@intel.com \
    --cc=cohuck@redhat.com \
    --cc=hang.yuan@intel.com \
    --cc=lingshan.zhu@intel.com \
    --cc=mgurtovoy@nvidia.com \
    --cc=mst@redhat.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 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.