Re: vDPA bus driver selection
From: Stefano Garzarella <sgarzare@redhat.com>
Date: 2021-10-28 09:35:08
On Wed, Oct 27, 2021 at 02:45:15PM -0400, Michael S. Tsirkin wrote:
On Wed, Oct 27, 2021 at 04:33:50PM +0200, Stefano Garzarella wrote:quoted
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? I can prepare an RFC with some code, the idea is to use the .match callback of "struct bus_type" to use a driver instead of the other, and extend netlink API to specify the vDPA bus driver name to use. Thanks, StefanoSo I think that doing this at create time is somewhat limited. For example a great way to do migration could be to unbind device from VM then bind virtio on the host to it, then bind macvtap to that.
Yep, make sense!
Ideas on how to allow that?
Maybe we can split the device creation and the attach (probe) in two APIs, then we can add a detach API to allow changing bus. Anyway I need to check the code better, but I think it's doable. Stefano _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization