[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-comment] Re: [PATCH] Introduce virtio virtual device and transport vq
å 2022/7/12 18:39, Zhu, Lingshan åé:
struct mgmt_dev_avail_res{}, if min_vdev_vqs == max_vdev_vqs, means the management device only supports creating virtual devices with fixed capabilities, this kind of virtual devices can be pre-created. Like the slab allocator, vendors can pre-create the device. Then when the management device receiving the VDEV_CREATE command, it can just pick up a free virtual device, and return thevirtual device.So the question still remains, how could we discover those pre-created devices? (having something like initial_vfs?)I think for the management devices, pre-creation could be pre-allocated hw resource. The management device could pre-allocate a certain number of "standard" managed devices, when receive a create command, the management device can pick a free managed device, assign an UUID to it, then returnto the management driver. So the driver may not be aware of this pre-creation, it just sees the device is created rapidly. Just like the slab system, or a threads pool.
So for "pre-creating" I meant from the driver perspective. What you describe here is invisible to driver. So we don't need a dedicate feature in this case.
Btw, I think we need a command to support virtqueue reset in the next version.
Thanks
The bit only makes sense for the case when some managed(virtual) devices are pre-created like initial_vfs in SR-IOV. If we allow pre-creation, we need commands to discover them.I think we need the feature bit VIRTIO_F_TRNSPT_VQ_VDEV, this feature bit indicates that the transport virtqueue is the transport layer for the virtual devices, like PCI for a virtio PCI hardware. So, not only create, we use the transport virtqueue to config the device as well.And if the virtual devices are pre-created, we can just send the create command, and the management devicecan find a available device for us, this is also discovery.This seems to conflict with the semantics of pre-created devices.same to the above
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]