Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Jason Wang <jasowang@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>
Cc: virtio-comment@lists.oasis-open.org,
	virtio-dev@lists.oasis-open.org, 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: [virtio] Re: [virtio-dev] Re: [PATCH v9 02/10] admin: introduce device group and related concepts
Date: Fri, 25 Nov 2022 11:58:49 +0100	[thread overview]
Message-ID: <87wn7jgv12.fsf@redhat.com> (raw)
In-Reply-To: <5731c35c-f24d-3667-b3be-c2f86f849b92@redhat.com>

On Fri, Nov 25 2022, Jason Wang <jasowang@redhat.com> wrote:

> 在 2022/11/24 20:12, Cornelia Huck 写道:
>> On Thu, Nov 24 2022, "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>
>>> 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:
>>>>>>> +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.
>
>
> I may miss something, but it looks to me it's just a subsection in the 
> PCI transport to describe the SR-IOV group identifier.
>
>
>>> 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?
>
>
> Sorry, I don't.
>
>
>>>
>>>
>>>
>>>>> 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.
>> Also, if we go with transport-specific ids, we might end up with
>> different ids per transport when we add a future transport-independent
>> feature.
>
>
> I'm not sure this is a real problem:
>
> 1) all the basic facilities are now transport-independent but they are 
> implemented via different transport specific registers/commands/offsets etc.

Yes, but in this case we're using the same basic structure, just with a
different id. I think that has a high potential for errors.

> 2) I'm not quite sure there would be a transport-independent group 
> identifier other than the virtqueue transport, so I wonder if it makes 
> sense to split the id space into global ones as well as the transport 
> specific ones

I think global vs. transport-specific is overkill here. I don't think we
expect a flood of new group types.

>
>
>>   The global id space really should be big enough to accommodate
>> even single-transport groups.
>
>
> Yes, so it's not about the space but about whether or it it's 
> worth/correct/expensive to describe a transport specific identifier in 
> the basic facility part.

IMHO, splitting this or using transport-specific namespaces is making
this complicated for not much in return. What do others think?


---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that 
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 


  reply	other threads:[~2022-11-25 10:58 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
2022-11-24 12:12           ` Cornelia Huck
2022-11-25  3:23             ` Jason Wang
2022-11-25 10:58               ` Cornelia Huck [this message]
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=87wn7jgv12.fsf@redhat.com \
    --to=cohuck@redhat.com \
    --cc=Piotr.Uminski@intel.com \
    --cc=hang.yuan@intel.com \
    --cc=jasowang@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox