Re: vDPA bus driver selection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 28, 2021 at 4:16 AM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
>
> On Wed, Oct 27, 2021 at 03:21:15PM +0000, Parav Pandit wrote:
> > Hi Stefano,
> >
> > > From: Stefano Garzarella <sgarzare@xxxxxxxxxx>
> > > 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
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization



[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux