From: Cornelia Huck <cohuck@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Parav Pandit <parav@nvidia.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, 08 Feb 2022 16:32:54 +0100 [thread overview]
Message-ID: <87zgn1tluh.fsf@redhat.com> (raw)
In-Reply-To: <20220208102341-mutt-send-email-mst@kernel.org>
On Tue, Feb 08 2022, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> On Tue, Feb 08, 2022 at 03:59:13PM +0100, Cornelia Huck wrote:
>> On Tue, Feb 08 2022, "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>
>> > On Tue, Feb 08, 2022 at 01:32:12PM +0000, Parav Pandit wrote:
>> >>
>> >> > From: Cornelia Huck <cohuck@redhat.com>
>> >> > Sent: Tuesday, February 8, 2022 6:50 PM
>> >> >
>> >> > On Tue, Feb 08 2022, Parav Pandit <parav@nvidia.com> wrote:
>> >> >
>> >> > >> From: Michael S. Tsirkin <mst@redhat.com>
>> >> > >> Sent: Tuesday, February 8, 2022 12:13 PM
>> >> > >
>> >> > >> On Tue, Feb 08, 2022 at 06:25:41AM +0000, Parav Pandit wrote:
>> >> > >> >
>> >> > >> > > From: Michael S. Tsirkin <mst@redhat.com>
>> >> > >> > > Sent: Monday, February 7, 2022 4:09 PM
>> >> > >> > >
>> >> > >> > > Next, trying to think about scalable iov extensions. So we will
>> >> > >> > > have groups of VFs and then SFs as the next level.
>> >> > >> > > How does one differentiate between the two?
>> >> > >> > > Maybe reserve a field for "destination type"?
>> >> > >> > >
>> >> > >> > We already discussed this in v2.
>> >> > >> > SF will have different identification than 16-bits. And no one
>> >> > >> > knows what
>> >> > >> that would be.
>> >> > >> > We just cannot reserve some arbitrary bytes for unknown.
>> >> > >> > You suggested in v2 to reserve 4 bytes for sf_id, and I explained
>> >> > >> > you that 4
>> >> > >> bytes may not be enough.
>> >> > >> >
>> >> > >> > Whether SFs are on top of VFs or SFs are on top of PFs or both is
>> >> > >> > completely
>> >> > >> different spec.
>> >> > >> > Whether PF will manage SFs of the VFs or it will be done nested
>> >> > >> > manner by
>> >> > >> VF etc is a completely different discussion than what is being proposed here.
>> >> > >> > Whether PF will manage the SF is yet another big question. We work
>> >> > >> > with
>> >> > >> users and they dislike this.
>> >> > >> > To address it, some OS has a different management interface (not
>> >> > >> > visible to
>> >> > >> PF) for SF life cycle even though SFs are anchored on a PF.
>> >> > >> >
>> >> > >> > So SF/iov extension discussion has long way to go for community to
>> >> > >> > first
>> >> > >> understand the use cases before crafting some extension.
>> >> > >> >
>> >> > >> > So lets not complicate and mix things here for a blurry definition
>> >> > >> > of scalable
>> >> > >> iov/sf extension.
>> >> > >>
>> >> > >> Some reserved bytes won't hurt. 2 bytes for type gives us 64k types,
>> >> > >> sounds like that should be enough.
>> >> > > It doesn't stop there.
>> >> > > Mentioning some destination type, interrupt type, etc also requires reserving
>> >> > bytes for different device id type, interrupt type and more.
>> >> > > We past this stage long ago after discussing this in v1 at [1].
>> >> > > It is just better and cleaner to define a different structure to describe SF/iov
>> >> > and its configuration.
>> >> >
>> >> > I have the feeling that we might be overcomplicating this. We have some
>> >> > groups of targets (a device, a group, that more complicated SF thingy), and we
>> >> > want to distinguish between them. That's easy enough to cover via some kind of
>> >> > enum-equivalent (0 == same dev, 1 == target a dev id, 2 == target a group id, 3
>> >> > == multi-layer target) and some spec how 1 and 2 should look like (as I'd expect
>> >> > them to be common for many different things).
>> >> Do we have a concrete example of a command that can be targeted for same device and a target device, which requires differentiating their destination? If so, lets discuss and then it make sense to add for the well-defined use case.
>> >
>> > So e.g. things like controlling NIC's MAC can reasonably be part of
>> > the same device.
>>
>> Yes, that would be an example.
>>
>> 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?
Right, we can certainly use a single field for both.
> Maybe just have an id length field if we can't agree on
> how much space to reserve.
If we think that 64 bit should be able to accommodate everything, I'd
say just go with that, no need to make it overly complicated.
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 15:32 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 ` Cornelia Huck [this message]
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 ` [virtio-comment] " Michael S. Tsirkin
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=87zgn1tluh.fsf@redhat.com \
--to=cohuck@redhat.com \
--cc=jasowang@redhat.com \
--cc=mgurtovoy@nvidia.com \
--cc=mst@redhat.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.