On Thu, Oct 28, 2021 at 4:16 AM Michael S. Tsirkin <[email protected]> wrote:
>
> 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.

Actually, we want to support this in the first version of vDPA bus.
But for some reason it was dropped. The idea is to specify the device
type 'virtio' or 'vhost'. But a concern is that, it may encourage
vendor to implement e.g virtio specific device (without DMA
isolation).

>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.

I'm not sure it's worth bothering with. As discussed, switching
between vendor drivers and vfio requires manually bind/unbind as well.

Thanks

>
> --
> MST
>

_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to