[PATCH v12 04/16] baseband/acc: introduce PMD for ACC200

Thomas Monjalon thomas at monjalon.net
Tue Nov 8 09:56:30 CET 2022


08/11/2022 00:52, Chautru, Nicolas:
> Hi Thomas, 
> Reminder : do you mind kindly clarifying/confirming below. Then we can update the docs accordingly. Thanks. 
> 
> From: Chautru, Nicolas
> > From: Thomas Monjalon <thomas at monjalon.net>
> > > 31/10/2022 16:43, Chautru, Nicolas:
> > > > From: Thomas Monjalon <thomas at monjalon.net>
> > > > > 12/10/2022 19:59, Nicolas Chautru:
> > > > > > +Bind PF UIO driver(s)
> > > > > > +~~~~~~~~~~~~~~~~~~~~~
> > > > > > +
> > > > > > +Install the DPDK igb_uio driver, bind it with the PF PCI device
> > > > > > +ID and use ``lspci`` to confirm the PF device is under use by
> > > > > > +``igb_uio`` DPDK
> > > > > UIO driver.
> > > > >
> > > > > igb_uio is not recommended.
> > > > > Please focus on VFIO first.
> > > > >
> > > > > > +The igb_uio driver may be bound to the PF PCI device using one
> > > > > > +of two methods for ACC200:
> > > > > > +
> > > > > > +
> > > > > > +1. PCI functions (physical or virtual, depending on the use
> > > > > > +case) can be bound to the UIO driver by repeating this command
> > > > > > +for every
> > > function.
> > > > > > +
> > > > > > +.. code-block:: console
> > > > > > +
> > > > > > +  cd <dpdk-top-level-directory>  insmod ./build/kmod/igb_uio.ko
> > > > > > + echo "8086 57c0" > /sys/bus/pci/drivers/igb_uio/new_id
> > > > > > +  lspci -vd8086:57c0
> > > > > > +
> > > > > > +
> > > > > > +2. Another way to bind PF with DPDK UIO driver is by using the
> > > > > > +``dpdk-devbind.py`` tool
> > > > > > +
> > > > > > +.. code-block:: console
> > > > > > +
> > > > > > +  cd <dpdk-top-level-directory>  ./usertools/dpdk-devbind.py -b
> > > > > > + igb_uio 0000:f7:00.0
> > > > > > +
> > > > > > +where the PCI device ID (example: 0000:f7:00.0) is obtained
> > > > > > +using lspci -vd8086:57c0
> > > > >
> > > > > This binding is not specific to the driver.
> > > > > It would be better to refer to the Linux guide instead of
> > > > > duplicating it again and again.
> > > > >
> > > > > > +In a similar way the PF may be bound with vfio-pci as any PCIe device.
> > > > >
> > > > > You could mention igb_uio here.
> > > > > Is there any advantage in using igb_uio?
> > > > >
> > > >
> > > > Igb_uio is arguably easier to use to new user tend to start with it
> > > > or specific
> > > ecosystem. This is typically the entry point (no iommu, no flr below
> > > the bonnet, no vfio token...) hence good to have a bit of handholding
> > > with a couple of lines capturing how to easily run a few tests. I
> > > don't believe this is too redundant to have these few lines compared
> > > to the help in bring to the user not having to double guess their steps.
> > > > More generally there are a number of module drivers combinations
> > > > that are
> > > supported based on different deployments. We don't document in too
> > > much details for the details since that is not too ACC specific and
> > > there is more documentation no pf_bb_config repo for using the PMD from
> > the VF..
> > > >
> > > > Basically Thomas let us know more explicitly what you are suggesting
> > > > as
> > > documentation update. You just want more emphasis on vfio-pci flow
> > > (which is fair, some of it documented on pf_bb_config including the
> > > vfio token passing but we can reproduce here as well) or something else?
> > >
> > > There are 2 things to change:
> > > 1/ igb_uio is going to be deprecated, so we must emphasize on VFIO
> > 
> > Is there a date for deprecation? Do you mean to EOL the dpdk-kmods
> > repository itself; or something more specific for DPDK code like removing
> > RTE_PCI_KDRV_IGB_UIO; or last to just take out from documentation?

There is no final decision yet, but the techboard wishes
we focus more on VFIO which is in Linux upstream.
Out-of-tree module (like igb_uio) is not recommended.

> > It tends to be historical but uio has value notably for ease of use.

I don't think it is easy to use an out-of-tree module.
It needs to be compiled and installed.

> > 2/ for doc
> > > maintenance, it is better to have common steps described in one place.
> > > If needed, you can change the common doc and refer to it.
> > 
> > Do you mean to remove these sections and just add a pointer to
> > https://doc.dpdk.org/guides/linux_gsg/linux_drivers.html instead in all these
> > bbdev PMDS?

Yes
If the Linux guide is not convenient, I suggest to improve it.

> > Please kindly confirm. I see specific steps for binding in many other PMDs docs
> > in DPDK, a bit redundant but provides simple steps specific to a PMD in one
> > place. I don't mind either way.

The other PMD docs should point to a common doc.

Redundant docs make very hard to update.





More information about the dev mailing list