All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: Max Gurtovoy <mgurtovoy@nvidia.com>,
	virtio-comment@lists.oasis-open.org,
	Cornelia Huck <cohuck@redhat.com>,
	Virtio-Dev <virtio-dev@lists.oasis-open.org>,
	Oren Duer <oren@nvidia.com>, Parav Pandit <parav@nvidia.com>,
	Shahaf Shuler <shahafs@nvidia.com>, Ariel Adam <aadam@redhat.com>,
	virtio@lists.oasis-open.org, eperezma <eperezma@redhat.com>
Subject: Re: [PATCH v6 1/5] Introduce device group
Date: Wed, 3 Aug 2022 02:10:54 -0400	[thread overview]
Message-ID: <20220803020125-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CACGkMEtgghEpPk=eE4z=5QiGTW42768i4729KR0-+ThHaQE3bA@mail.gmail.com>

On Wed, Aug 03, 2022 at 12:44:38PM +0800, Jason Wang wrote:
> On Tue, Aug 2, 2022 at 9:42 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > I feel some of my latest review opened some questions that I don't have
> > good answers for and might have felt a bit rambling.
> > So to focus the discussion:
> >
> > On Sun, Jul 31, 2022 at 06:43:50PM +0300, Max Gurtovoy wrote:
> > > +A device can be a member of one or more device groups.
> >
> > Presumably this is so we can e.g. create subfunctions inside a VF.
> 
> Then VF should have its own transport virtqueue. And subfunctions need
> to be created there. If we don't all thing in PF, we may end up with
> nesting issue when assign VF to the guest.
> > A VF now is a member of a SRIOV and SIOV type groups and we
> > can use type to distinguish between these.
> >
> > We should probably be explicit that each of these groups has to
> > have a distinct group type then.
> >
> > And this raises the question: different types have different
> > capabilities. So let's say admin queue is used to both
> > control features for SRIOV VFs and to create SIOV SFs.
> 
> I don't get how the admin queue can be used to control VF features
> considering VF has its capabilities. (SR-IOV lacks the ability to
> provision a single VF).

Well look at latest proposal, last patch controls VF features from PF.

> > I guess we'll have a feature bit to say "command to create
> > SIOV SFs is supported" but how do we say that this command
> > is only supported for VFs not SFs?
> 
> I think we should first answer if having VF and SF to be dealt with a
> single type of virtqueue is a good idea. They have something in common
> but they distinguish each other:
> 
> - SF requires per virtual device lifecycle management
> - SF requires a transport other than PCI
> - SF requires more mediation in the software layer for presenting a
> virtual device
> 
> Using a single type of virtqueue may end up with complex design.
> Having a dedicated queue for SF might be a better choice.

And dedicated feature bits for commands thereof?  For example, I imagine
we could have commands to control the MAC of the group member. That is
the same for SF and VF, yes? How do we avoid duplication for that?

> >
> > Do we just make features list a superset of what is supported and simply
> > say in the spec which commands are legal with which group types?
> >
> >
> > Jason Cornelia what do you think?
> 
> It looks to me it would be much more simpler if we use separated
> virtqueues for SRIOV and SIOV.
> 
> Thanks

Then is it still helpful that we have the generic group type concept?
I was hoping it will work so the same command can be used for VFs
and SFs.


> >
> >
> >
> > > +\item Self type (group identifier = 0) - this group has only one device in the group. Each virtio device is a member of at least one device group, the Self type group.
> >
> > Presumably, this is here so we can send commands that refer to the
> > device itself as opposed to a group member (e.g. to
> > PF as opposed to VF). Is that right?
> >
> > It's handy but again the problem here is, this refers to
> > device as part of which group? Let's just drop this type?
> >
> >
> > --
> > MST
> >


  reply	other threads:[~2022-08-03  6:10 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-31 15:43 [PATCH v6 0/5] Introduce device group and device management Max Gurtovoy
2022-07-31 15:43 ` [PATCH v6 1/5] Introduce device group Max Gurtovoy
2022-07-31 20:38   ` Michael S. Tsirkin
2022-07-31 20:42   ` Michael S. Tsirkin
2022-07-31 21:19   ` Michael S. Tsirkin
2022-08-02 13:41   ` Michael S. Tsirkin
2022-08-03  4:44     ` Jason Wang
2022-08-03  6:10       ` Michael S. Tsirkin [this message]
2022-08-03  8:04         ` Jason Wang
2022-08-03 12:33           ` Michael S. Tsirkin
2022-08-04  2:08             ` Jason Wang
2022-08-04  6:17               ` Michael S. Tsirkin
2022-08-04  7:17                 ` Jason Wang
2022-08-03  6:43       ` Michael S. Tsirkin
2022-08-03 23:45     ` [virtio-comment] " Max Gurtovoy
2022-08-04  6:20       ` Michael S. Tsirkin
2022-07-31 15:43 ` [PATCH v6 2/5] Introduce admin command set Max Gurtovoy
2022-07-31 20:59   ` Michael S. Tsirkin
2022-07-31 23:56     ` [virtio-comment] " Max Gurtovoy
2022-07-31 15:43 ` [virtio-comment] [PATCH v6 3/5] Introduce virtio admin virtqueue Max Gurtovoy
2022-07-31 21:00   ` Michael S. Tsirkin
2022-07-31 23:07     ` Max Gurtovoy
2022-08-01  6:03       ` Michael S. Tsirkin
2022-07-31 15:43 ` [PATCH v6 4/5] Add admin_queue_index register to PCI common configuration structure Max Gurtovoy
2022-07-31 21:03   ` Michael S. Tsirkin
2022-08-01  0:11     ` Max Gurtovoy
2022-08-01  6:13       ` Michael S. Tsirkin
2022-08-04  0:01         ` [virtio-comment] " Max Gurtovoy
2022-08-04  6:26           ` Michael S. Tsirkin
2022-07-31 15:43 ` [PATCH v6 5/5] Introduce MGMT admin commands Max Gurtovoy
2022-07-31 21:16   ` Michael S. Tsirkin
2022-07-31 16:27 ` [PATCH v6 0/5] Introduce device group and device management 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=20220803020125-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=aadam@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=eperezma@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=mgurtovoy@nvidia.com \
    --cc=oren@nvidia.com \
    --cc=parav@nvidia.com \
    --cc=shahafs@nvidia.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.