On Wed, Oct 27, 2021 at 03:21:15PM +0000, Parav Pandit wrote:
> Hi Stefano,
> 
> > From: Stefano Garzarella <[email protected]>
> > 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
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to