Hi Parav, > -----Original Message----- > From: Parav Pandit <pa...@nvidia.com> > Sent: Tuesday, June 15, 2021 12:05 PM > To: Xia, Chenbo <chenbo....@intel.com>; NBU-Contact-Thomas Monjalon > <tho...@monjalon.net>; Yigit, Ferruh <ferruh.yi...@intel.com> > Cc: Xueming(Steven) Li <xuemi...@nvidia.com>; Slava Ovsiienko > <viachesl...@nvidia.com>; dev@dpdk.org; Jason Gunthorpe <j...@nvidia.com> > Subject: RE: [dpdk-dev] [RFC 00/14] mlx5: support SubFunction > > Hi Chenbo, > > > From: Xia, Chenbo <chenbo....@intel.com> > > Sent: Tuesday, June 15, 2021 7:41 AM > > > > Hi Thomas, > > > > > From: Thomas Monjalon <tho...@monjalon.net> > > > Sent: Friday, June 11, 2021 3:54 PM > [..] > > > > > Yes. In our term it's called Assignable Device Interface (ADI) introduced in > > Intel Scalable IOV (https://01.org/blogs/2019/assignable-interfaces-intel- > > scalable-i/o-virtualization-linux) > > > > And vfio-mdev is chosen to be the software framework for it. I start to > realize > > there is difference between SF and ADI: SF considers multi-function devices > > which may include net/regex/vdpa/... > Yes. net, rdma, vdpa, regex ++. > And eventually vfio_device to map to VM too. > > Non mdev framework is chosen so that all the use cases of kernel only, or user > only or mix modes can be supported.
OK. Got it. > > > But ADI only focuses on the > > virtualization of the devices and splitting devices to logic parts and > providing > > huge number of interfaces to host APP. I think SF also considers this but is > > mainly used for multi-function devices (like DPU in your term? > > Correct me if I'm wrong). > > > SF also supports DPU mode too but it is in addition to above use cases. > SF will expose mdev (or a vfio_device) to map to a VM. So your SW actually supports vfio-mdev? I suppose the device-specific mdev Kernel module is out-of-tree? Just FYI: We are introducing a new mdev bus for DPDK: http://patchwork.dpdk.org/project/dpdk/cover/20210601030644.3318-1-chenbo....@intel.com/ Thanks, Chenbo > > > And I also noticed that the mdev-based interface can only be used in > > userspace but aux-based interface can also be used by other kernel sub- > > system (like for net, wrap it as netdev). > Correct.