On Wed, Oct 30, 2019 at 03:04:37PM +0800, Jason Wang wrote:
On 2019/10/30 äå2:17, Tiwei Bie wrote:Thanks for the list! It looks dirty to define specific
On Tue, Oct 29, 2019 at 06:51:32PM +0800, Jason Wang wrote:Then maybe it's better to introduce vhost-mdev-net on top?
On 2019/10/29 äå6:17, Tiwei Bie wrote:Exactly. This is only for userspace.
This patch adds the network control vq support in vhost-mdev.Probably work for userspace driver but not kernel driver.
A vhost-mdev specific op is introduced to allow parent drivers
to handle the network control commands come from userspace.
I got your point now. In virtio-mdev kernel driver case,
the ctrl-vq can be special as well.
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
...
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.
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