Thread (17 messages) flat view 17 messages, 4 authors, 2021-10-29

Re: vDPA bus driver selection

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2021-10-27 20:16:38

On Wed, Oct 27, 2021 at 03:21:15PM +0000, Parav Pandit wrote:
Hi Stefano,
quoted
From: Stefano Garzarella <sgarzare@redhat.com>
Sent: Wednesday, October 27, 2021 8:04 PM

Hi folks,
I was trying to understand if we have a way to specify which vDPA bus driver
(e.g. vhost-vdpa, virtio-vdpa) a device should use.
IIUC we don't have it, and the first registered driver is used when a new device
is registered.

I was thinking if it makes sense to extend the management API to specify which
bus driver to use for a device. A use case could be for example a single host
handling VMs and bare-metal containers, so we would have both virtio-vdpa
and vhost-vdpa loaded and we want to attach some devices to VMs through
vhost-vdpa and others to containers through virtio-vdpa.

What do you think?
One option is, user keeps the drivers_autoprobe disabled for the vdpa bus using,

$ vdpa/vdpa dev add mgmtdev vdpasim_net name vdpa0 mac 00:11:22:33:44:55
$ echo 0 > /sys/bus/vdpa/drivers_autoprobe

And after vdpa device creation, it manually binds to the desired driver such as,

$ echo vdpa0 > /sys/bus/vdpa/drivers/virtio_vdpa/bind
Or
$ echo vdpa0 > /sys/bus/vdpa/drivers/vhost_vdpa/bind

In an case of VDUSE, it makes more sense to bind to the one of the above driver after user space has connected the use space backend to the kernel device.
The only annoying thing is that manual bind is not validated.
E.g. if one makes a mistake and binds an incorrect device,
it just tends to crash IIRC.
Another is that it all needs to be root.

-- 
MST

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help