On Tue, Jun 15, 2021 at 09:48:24AM +0200, Thomas Monjalon wrote: > 15/06/2021 04:49, Xia, Chenbo: > > From: Thomas Monjalon <tho...@monjalon.net> > > > 01/06/2021 05:06, Chenbo Xia: > > > > Hi everyone, > > > > > > > > This is a draft implementation of the mdev (Mediated device [1]) > > > > support in DPDK PCI bus driver. Mdev is a way to virtualize devices > > > > in Linux kernel. Based on the device-api (mdev_type/device_api), > > > > there could be different types of mdev devices (e.g. vfio-pci). > > > > > > Please could you illustrate with an usage of mdev in DPDK? > > > What does it enable which is not possible today? > > > > The main purpose is for DPDK to drive mdev-based devices, which is not > > possible today. > > > > I'd take PCI devices for an example. Currently DPDK can only drive devices > > of physical pci bus under /sys/bus/pci and kernel exposes the pci devices > > to APP in that way. > > > > But there are PCI devices using vfio-mdev as a software framework to expose > > Mdev to APP under /sys/bus/mdev. Devices could choose this way of > > virtualizing > > itself to let multiple APPs share one physical device. For example, Intel > > Scalable IOV technology is known to use vfio-mdev as SW framework for > > Scalable > > IOV enabled devices (and Intel net/crypto/raw devices support this tech). > > For > > those mdev-based devices, DPDK needs support on the bus layer to > > scan/plug/probe/.. > > them, which is the main effort this patchset does. There are also other > > devices > > using the vfio-mdev framework, AFAIK, Nvidia's GPU is the first one using > > mdev > > and Intel's GPU virtualization also uses it. > > Yes mdev was designed for virtualization I think. > The use of mdev for Scalable IOV without virtualization > may be seen as an abuse by Linux maintainers, > as they currently seem to prefer the auxiliary bus (which is a real bus). > > Mellanox got a push back when trying to use mdev for the same purpose > (Scalable Function, also called Sub-Function) in the kernel. > The Linux community decided to use the auxiliary bus. > > Any other feedback on the choice mdev vs aux? > Is there any kernel code supporting this mdev model for Intel devices?
IMHO until a kernel networking driver is accepted that uses mdev this is all just dead code in dpdk and shouldn't be merged. I think it is unlikely that future networking drivers will use mdev. > > > > 2: A new mdev bus that scans mediated pci devices and probes mdev > > > > driver to > > > > plug-in pci devices to pci bus And we are likely not doing 'mediated pci devices' at all.. Jason