Jason Wang
2020-Dec-02 05:48 UTC
[External] Re: [PATCH 0/7] Introduce vdpa management tool
On 2020/12/1 ??5:55, Yongji Xie wrote:> On Tue, Dec 1, 2020 at 2:25 PM Jason Wang <jasowang at redhat.com> wrote: >> >> On 2020/11/30 ??3:07, Yongji Xie wrote: >>>>> Thanks for adding me, Jason! >>>>> >>>>> Now I'm working on a v2 patchset for VDUSE (vDPA Device in Userspace) >>>>> [1]. This tool is very useful for the vduse device. So I'm considering >>>>> integrating this into my v2 patchset. But there is one problem? >>>>> >>>>> In this tool, vdpa device config action and enable action are combined >>>>> into one netlink msg: VDPA_CMD_DEV_NEW. But in vduse case, it needs to >>>>> be splitted because a chardev should be created and opened by a >>>>> userspace process before we enable the vdpa device (call >>>>> vdpa_register_device()). >>>>> >>>>> So I'd like to know whether it's possible (or have some plans) to add >>>>> two new netlink msgs something like: VDPA_CMD_DEV_ENABLE and >>>>> VDPA_CMD_DEV_DISABLE to make the config path more flexible. >>>>> >>>> Actually, we've discussed such intermediate step in some early >>>> discussion. It looks to me VDUSE could be one of the users of this. >>>> >>>> Or I wonder whether we can switch to use anonymous inode(fd) for VDUSE >>>> then fetching it via an VDUSE_GET_DEVICE_FD ioctl? >>>> >>> Yes, we can. Actually the current implementation in VDUSE is like >>> this. But seems like this is still a intermediate step. The fd should >>> be binded to a name or something else which need to be configured >>> before. >> >> The name could be specified via the netlink. It looks to me the real >> issue is that until the device is connected with a userspace, it can't >> be used. So we also need to fail the enabling if it doesn't opened. >> > Yes, that's true. So you mean we can firstly try to fetch the fd > binded to a name/vduse_id via an VDUSE_GET_DEVICE_FD, then use the > name/vduse_id as a attribute to create vdpa device? It looks fine to > me.Yes, something like this. The anonymous fd will be created during dev_add() and the fd will be carried in the msg to userspace. Thanks> > Thanks, > Yongji >