From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: Cornelia Huck <cohuck@redhat.com>,
Max Gurtovoy <mgurtovoy@nvidia.com>,
"virtio-comment@lists.oasis-open.org"
<virtio-comment@lists.oasis-open.org>,
"virtio-dev@lists.oasis-open.org"
<virtio-dev@lists.oasis-open.org>,
"jasowang@redhat.com" <jasowang@redhat.com>,
Shahaf Shuler <shahafs@nvidia.com>, Oren Duer <oren@nvidia.com>,
"stefanha@redhat.com" <stefanha@redhat.com>
Subject: [virtio-comment] Re: [PATCH v3 1/4] Add virtio Admin virtqueue
Date: Tue, 8 Feb 2022 16:02:27 -0500 [thread overview]
Message-ID: <20220208160121-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB54818E39CB898C7BCC29C221DC2D9@PH0PR12MB5481.namprd12.prod.outlook.com>
On Tue, Feb 08, 2022 at 03:48:42PM +0000, Parav Pandit wrote:
>
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Tuesday, February 8, 2022 9:08 PM
>
>
> > On Tue, Feb 08, 2022 at 03:35:58PM +0000, Parav Pandit wrote:
> > >
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: Tuesday, February 8, 2022 8:56 PM
> > >
> > > > > I might have been a bit too vague about what I had been thinking
> > > > > about. Let's do a sketch (intentionally without concrete sizes):
> > > > >
> > > > > +-------------------------------------------------------+
> > > > > | command |
> > > > > +-------------------------------------------------------+
> > > > > | target type (0 - self, 1 - dev id, 2 - group id, ... |
> > > > > +-------------------------------------------------------+
> > > > > | dev id |
> > > > > +-------------------------------------------------------+
> > > > > | group id |
> > > > > +-------------------------------------------------------+
> > > > > | command-specific data |
> > > > > +-------------------------------------------------------+
> > > > > | response part |
> > > > > +-------------------------------------------------------+
> > > > >
> > > > > 'dev id' would be valid for 'target type' == 1, 'group id' would
> > > > > be valid for 'target type' == 2. Alternatively, 'dev id' and 'group id'
> > > > > could be a single 'target id' field; if there's nothing better to
> > > > > use, it can simply contain a uuid.
> > > >
> > > > I am not sure why do we have both dev id and group id.
> > > > They are never used together right?
> > > > Maybe just have an id length field if we can't agree on how much
> > > > space to reserve.
> > > This is what I propose in a previous email.
> > > A device id can be duplicate in different groups.
> > > So to build hierarchy group id will be desired.
> > >
> > > So id[] array can contain nested one or multiple fields.
> >
> > I guess nesting is for when there's like an SF within a VF?
> That is one case, but I imagine that if SF is on top of VF, than VF will directly manage it. PF should not get involved in nested management.
>
> Nesting is for the case, where there is explicit group. A simple example is,
> A NIC has two PCI functions, both support SR-IOV and VFs.
> But only one PF is managing the VFs for msix, mac etc configuration.
Or maybe that's the case of "it hurts when I do this - then don't do that".
> In this case there are two groups g0, g1.
> grp0 belongs to PF0.
> grp1 belongs to PF1.
>
> So a id definition looks like below.
>
> struct pf_identifier {
> u8 device; /* pci device of bdf */
> u8 function; /* pci function of bdf */
> } __attribute__(packed);
>
> struct pci_vf_grouped_id {
> struct pf_identifier pf_id;
> u16 vf_num;
> };
>
> struct device_identfier {
> u8 id_type; /* below id type enum */
> u16 id_len;
> union {
> u8 raw[0];
> struct pci_vf_grouped_id gvf_id;
> } id_data;
> };
>
> enum id_type {
> VIRTIO_PCI_VF = 0, /* implicitly grouped VF */
> VIRTIO_PCI_REMOTE_VF = 1, /* part of hirechical group */
> VIRTIO_SF,
> VIRTIO_PCI_REMOTE_SF, /* part of hirechical group */
> VIRTIO_MMIO,
> /* more */
> };
This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.
In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.
Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/
next prev parent reply other threads:[~2022-02-08 21:02 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-03 7:57 [PATCH v3 0/4] VIRTIO: Provision maximum MSI-X vectors for a VF Max Gurtovoy
2022-02-03 7:57 ` [PATCH v3 1/4] Add virtio Admin virtqueue Max Gurtovoy
2022-02-03 13:09 ` [virtio-dev] " Cornelia Huck
2022-02-07 10:14 ` Max Gurtovoy
2022-02-07 10:28 ` Michael S. Tsirkin
2022-02-07 11:51 ` [virtio-dev] " Cornelia Huck
2022-02-07 14:34 ` Max Gurtovoy
2022-02-07 15:08 ` [virtio-comment] " Cornelia Huck
2022-02-07 16:19 ` Michael S. Tsirkin
2022-02-07 10:39 ` Michael S. Tsirkin
2022-02-07 14:58 ` Max Gurtovoy
2022-02-07 16:18 ` Michael S. Tsirkin
2022-02-08 0:41 ` Max Gurtovoy
2022-02-08 6:45 ` Michael S. Tsirkin
2022-02-08 8:34 ` Max Gurtovoy
2022-02-08 13:08 ` [virtio-dev] " Cornelia Huck
2022-02-08 13:20 ` Parav Pandit
2022-02-08 14:04 ` Michael S. Tsirkin
2022-02-08 6:25 ` Parav Pandit
2022-02-08 6:42 ` Michael S. Tsirkin
2022-02-08 7:04 ` Parav Pandit
2022-02-08 13:19 ` [virtio-comment] " Cornelia Huck
2022-02-08 13:32 ` Parav Pandit
2022-02-08 13:58 ` Michael S. Tsirkin
2022-02-08 14:59 ` [virtio-comment] " Cornelia Huck
2022-02-08 15:11 ` [virtio-dev] " Parav Pandit
2022-02-08 15:18 ` Cornelia Huck
2022-02-08 15:28 ` Michael S. Tsirkin
2022-02-08 15:33 ` Parav Pandit
2022-02-08 15:36 ` Michael S. Tsirkin
2022-02-08 15:26 ` Michael S. Tsirkin
2022-02-08 15:32 ` [virtio-comment] " Cornelia Huck
2022-02-08 15:35 ` [virtio-dev] " Parav Pandit
2022-02-08 15:37 ` Michael S. Tsirkin
2022-02-08 15:48 ` Parav Pandit
2022-02-08 21:02 ` Michael S. Tsirkin [this message]
2022-02-08 15:06 ` Parav Pandit
2022-02-08 15:39 ` Michael S. Tsirkin
2022-02-08 18:52 ` Parav Pandit
2022-02-08 21:00 ` Michael S. Tsirkin
2022-02-03 7:57 ` [PATCH v3 2/4] Add miscellaneous configuration structure for PCI Max Gurtovoy
2022-02-03 7:57 ` [PATCH v3 3/4] Add device management facility Max Gurtovoy
2022-02-03 7:57 ` [virtio-comment] [PATCH v3 4/4] Add support for MSI-X vectors configuration for PCI VFs 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=20220208160121-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 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.