Messages in this thread | | | Subject | Re: [RFC] vhost_mdev: add network control vq support | From | Jason Wang <> | Date | Thu, 31 Oct 2019 09:44:11 +0800 |
| |
On 2019/10/30 下午7:54, Tiwei Bie wrote: > On Wed, Oct 30, 2019 at 03:04:37PM +0800, Jason Wang wrote: >> On 2019/10/30 下午2:17, Tiwei Bie wrote: >>> On Tue, Oct 29, 2019 at 06:51:32PM +0800, Jason Wang wrote: >>>> On 2019/10/29 下午6:17, Tiwei Bie wrote: >>>>> This patch adds the network control vq support in vhost-mdev. >>>>> A vhost-mdev specific op is introduced to allow parent drivers >>>>> to handle the network control commands come from userspace. >>>> Probably work for userspace driver but not kernel driver. >>> Exactly. This is only for userspace. >>> >>> I got your point now. In virtio-mdev kernel driver case, >>> the ctrl-vq can be special as well. >>> >> Then maybe it's better to introduce vhost-mdev-net on top? >> >> Looking at the other type of virtio device: >> >> - console have two control virtqueues when multiqueue port is enabled >> >> - SCSI has controlq + eventq >> >> - GPU has controlq >> >> - Crypto device has one controlq >> >> - Socket has eventq >> >> ... > Thanks for the list! It looks dirty to define specific > commands and types in vhost UAPI for each of them in the > future. It's definitely much better to find an approach > to solve it once for all if possible.. > > Just a quick thought, considering all vhost-mdev does > is just to forward settings between parent and userspace, > I'm wondering whether it's possible to make the argp > opaque in vhost-mdev UAPI and just introduce one generic > ioctl command to deliver these device specific commands > (which are opaque in vhost-mdev as vhost-mdev just pass > the pointer -- argp) defined by spec.
It looks that using opaque pointer is probably not good for UAPI. And we need also invent API for eventq.
> > I'm also fine with exposing ctrlq to userspace directly. > PS. It's interesting that some devices have more than > one ctrlq. I need to take a close look first..
Thanks.
> > >> Thanks >>
| |