Re: [PATCH 5/5] vdpasim: vDPA device simulator

From: Jason Wang
Date: Mon Jan 20 2020 - 03:01:38 EST



On 2020/1/17 äå10:10, Jason Gunthorpe wrote:
On Fri, Jan 17, 2020 at 05:32:39PM +0800, Jason Wang wrote:
On 2020/1/16 äå11:47, Jason Gunthorpe wrote:
On Thu, Jan 16, 2020 at 08:42:31PM +0800, Jason Wang wrote:
This patch implements a software vDPA networking device. The datapath
is implemented through vringh and workqueue. The device has an on-chip
IOMMU which translates IOVA to PA. For kernel virtio drivers, vDPA
simulator driver provides dma_ops. For vhost driers, set_map() methods
of vdpa_config_ops is implemented to accept mappings from vhost.

A sysfs based management interface is implemented, devices are
created and removed through:

/sys/devices/virtual/vdpa_simulator/netdev/{create|remove}
This is very gross, creating a class just to get a create/remove and
then not using the class for anything else? Yuk.

It includes more information, e.g the devices and the link from vdpa_sim
device and vdpa device.
I feel like regardless of how the device is created there should be a
consistent virtio centric management for post-creation tasks, such as
introspection and destruction


Right, actually, this is something that could be done by sysfs as well. Having an intermediate steps as "activate" and introducing attributes for post-creation tasks.



A virto struct device should already have back pointers to it's parent
device, which should be enough to discover the vdpa_sim, none of the
extra sysfs munging should be needed.

Netlink based lifecycle management could be implemented for vDPA
simulator as well.
This is just begging for a netlink based approach.

Certainly netlink driven removal should be an agreeable standard for
all devices, I think.

Well, I think Parav had some proposals during the discussion of mdev
approach. But I'm not sure if he had any RFC codes for me to integrate it
into vdpasim.

Or do you want me to propose the netlink API? If yes, would you prefer to a
new virtio dedicated one or be a subset of devlink?
Well, lets see what feed back Parav has

Jason


Ok.

Thanks