From: "Zhu, Lingshan" <lingshan.zhu@intel.com>
To: Parav Pandit <parav@nvidia.com>, Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Cc: "virtio-comment@lists.oasis-open.org"
<virtio-comment@lists.oasis-open.org>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [virtio-comment] About the plan of Admin Queue
Date: Mon, 3 Jul 2023 12:29:32 +0800 [thread overview]
Message-ID: <2e176f24-293b-5be0-2928-e8ce0300e75a@intel.com> (raw)
In-Reply-To: <PH0PR12MB5481243B22A694E42C351C20DC2AA@PH0PR12MB5481.namprd12.prod.outlook.com>
On 6/30/2023 7:35 PM, Parav Pandit wrote:
>> From: virtio-comment@lists.oasis-open.org <virtio-comment@lists.oasis-
>> open.org> On Behalf Of Zhu, Lingshan
>> Sent: Friday, June 30, 2023 6:33 AM
>>
>
>>>>> Can we let the DPU notify the driver to create a new devicer from the
>> backend?
> Yes, why not.
>
>>>>> The key point is who want to create a new device.
>>>> DPU can come with a certain number of pre-created ADIs, just make
>>>> sure the orchestration SW is aware of their device IDs.
>>>>
> Cloud often need these devices to be created dynamically, many a time after the host OS is booted.
> To be more generic, those devices to be created and connected to the host regardless of the life cycle of the host.
> Xuan partly explained it.
>
>>>> If you want the DPU randomly create ADIs and notify the driver, I
>>>> think we need interrupt, e.g., re-use config interrupt. But why DPU
>>>> wants to create and hot plug in a device to a guest?
>>>> Shall the host handle that or DPU pre-create then expose to baremteal
>>>> machines?
>>> In your scenario, the supervisor is on the os, which controls the DPU
>>> to create new devices.
>>>
>>> In the cloud scenario, the vendor manager is in the DPU, and the
>>> entire host is for users. Of course, there are situations where the
>>> vendor manager are in the HOST. But for bare metal machines, the host
>>> belongs to the customer, the vendor manager is only in the DPU.
>>>
>>> So when the customers buy a new nic for the host, the vendor manager
>>> will plug a device to the host from the DPU.
>> I understand once a customer orders a new NIC, you wants to present the NIC
>> to the host.
>> However you only owns the DPU and the customer owns the host, that means
>> this creation and hot plug must be transparent to the host and there may not be
>> a host driver help handling an interrupt/probe.
>>
> That is ok. when driver is loaded, it would query about its child devices and probe it, if we strictly want to follow SIOV model.
>
>> However this is not PCI which has a tree/switch and can enumerate devices to
>> the host by spanning the device across the PCI hierarchy.
>>
> Those enumeration is triggered by the parent PCI device and pci bridge and switch will also discover it.
>
>> To address an ADI, there is only a device_id.
>>
> SIOV device must have a unique identifier at PCI bus level for sure.
> I cannot speak more about it in this forum due to other logistics issue.
> But assume that there is PCI level unique identifier for SIOV device that switches on the path will learn about.
>
>> So, do you mind share how your DPU offload the device model? What kind of
>> device your DPU provide to the host? Lets see whether DPU can mediate this by
>> its own?
>>
> It is a virtio nic, blk and other virtio devices for us.
> A DPU hotplugs a device, host side either gets interrupt or later gets to know about it when explicitly queries.
> There is no mediation per say here, it is just a dpu based SIOV device like a regular PF.
>
> For non virtio DPU device, I implemented them in Linux for dpus 2 years ago.
> You might find a Linux reference model useful at [1].
> A usage model already exists in one OS and in use for non virtio devices.
> This certainly works without SIOV unique PCI device identifiers, because DPU (non-host) managed SIOV device spec still does not exist.
>
> For virtio, I think we should wait for this piece to be defined and leverage that, instead of virtio tc creating its own.
>
> [1] https://github.com/Mellanox/scalablefunctions/wiki
well I see SF facing the similar challenge, I can add a command for the
driver to query all existing SIOV ADIs of a device,
and the device return ADIs id and status. Looks good? and work for you
@Xuan?
Thanks
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:[~2023-07-03 4:29 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-20 6:44 [virtio-comment] About the plan of Admin Queue Xuan Zhuo
2023-06-20 8:11 ` Zhu, Lingshan
2023-06-30 5:54 ` Xuan Zhuo
2023-06-30 6:19 ` Zhu, Lingshan
2023-06-30 7:46 ` Xuan Zhuo
2023-06-30 7:54 ` Zhu, Lingshan
2023-06-30 7:56 ` Xuan Zhuo
2023-06-30 8:32 ` Zhu, Lingshan
2023-06-30 9:07 ` Zhu, Lingshan
2023-06-30 9:14 ` Xuan Zhuo
2023-06-30 10:33 ` Zhu, Lingshan
2023-06-30 11:35 ` Parav Pandit
2023-07-03 4:29 ` Zhu, Lingshan [this message]
2023-07-03 5:54 ` Xuan Zhuo
2023-07-03 8:01 ` Zhu, Lingshan
2023-07-03 8:21 ` Xuan Zhuo
2023-07-03 8:23 ` Zhu, Lingshan
2023-07-27 2:30 ` Xuan Zhuo
2023-07-27 3:56 ` Zhu, Lingshan
2023-07-27 6:09 ` Xuan Zhuo
2023-07-27 6:17 ` Zhu, Lingshan
2023-07-27 6:20 ` Xuan Zhuo
2023-07-27 8:03 ` Jason Wang
2023-07-27 8:07 ` Xuan Zhuo
2023-07-27 8:28 ` Jason Wang
2023-07-27 8:30 ` Xuan Zhuo
2023-07-27 8:56 ` Jason Wang
2023-07-27 9:01 ` Xuan Zhuo
[not found] ` <aafe1885-0ec2-66ca-4511-f2606bc881ee@gmail.com>
2023-08-02 6:13 ` Xuan Zhuo
2023-08-02 6:15 ` Jason Wang
2023-08-02 6:34 ` Xuan Zhuo
2023-08-02 6:53 ` Jason Wang
2023-08-02 6:55 ` Xuan Zhuo
2023-07-28 6:09 ` Xuan Zhuo
2023-07-31 1:20 ` Jason Wang
2023-07-31 2:02 ` Parav Pandit
2023-07-03 8:10 ` Jason Wang
2023-07-03 8:20 ` Xuan Zhuo
2023-07-03 13:05 ` Michael S. Tsirkin
2023-07-03 13:06 ` Parav Pandit
2023-07-03 20:38 ` Parav Pandit
2023-07-04 3:48 ` Zhu, Lingshan
2023-07-04 12:11 ` Xuan Zhuo
2023-07-04 12:14 ` Xuan Zhuo
2023-07-04 13:15 ` Parav Pandit
2023-07-05 4:30 ` Xuan Zhuo
2023-07-05 4:35 ` Parav Pandit
2023-07-05 4:36 ` Xuan Zhuo
2023-07-05 4:38 ` Xuan Zhuo
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=2e176f24-293b-5be0-2928-e8ce0300e75a@intel.com \
--to=lingshan.zhu@intel.com \
--cc=mst@redhat.com \
--cc=parav@nvidia.com \
--cc=virtio-comment@lists.oasis-open.org \
--cc=xuanzhuo@linux.alibaba.com \
/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