Re: [PATCH RFC v2 virtio 7/7] pds_vdpa: pds_vdps.rst and Kconfig

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 16, 2023 at 11:25 AM Shannon Nelson <shannon.nelson@xxxxxxx> wrote:
>
> On 3/15/23 12:05 AM, Jason Wang wrote:
> > On Thu, Mar 9, 2023 at 9:31 AM Shannon Nelson <shannon.nelson@xxxxxxx> wrote:
> >>
> >> Add the documentation and Kconfig entry for pds_vdpa driver.
> >>
> >> Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxx>
> >> ---
> >>   .../ethernet/pensando/pds_vdpa.rst            | 84 +++++++++++++++++++
> >>   MAINTAINERS                                   |  4 +
> >>   drivers/vdpa/Kconfig                          |  8 ++
> >>   3 files changed, 96 insertions(+)
> >>   create mode 100644 Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst
> >>
> >> diff --git a/Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst b/Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst
> >> new file mode 100644
> >> index 000000000000..d41f6dd66e3e
> >> --- /dev/null
> >> +++ b/Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst
> >> @@ -0,0 +1,84 @@
> >> +.. SPDX-License-Identifier: GPL-2.0+
> >> +.. note: can be edited and viewed with /usr/bin/formiko-vim
> >> +
> >> +==========================================================
> >> +PCI vDPA driver for the AMD/Pensando(R) DSC adapter family
> >> +==========================================================
> >> +
> >> +AMD/Pensando vDPA VF Device Driver
> >> +Copyright(c) 2023 Advanced Micro Devices, Inc
> >> +
> >> +Overview
> >> +========
> >> +
> >> +The ``pds_vdpa`` driver is an auxiliary bus driver that supplies
> >> +a vDPA device for use by the virtio network stack.  It is used with
> >> +the Pensando Virtual Function devices that offer vDPA and virtio queue
> >> +services.  It depends on the ``pds_core`` driver and hardware for the PF
> >> +and VF PCI handling as well as for device configuration services.
> >> +
> >> +Using the device
> >> +================
> >> +
> >> +The ``pds_vdpa`` device is enabled via multiple configuration steps and
> >> +depends on the ``pds_core`` driver to create and enable SR-IOV Virtual
> >> +Function devices.
> >> +
> >> +Shown below are the steps to bind the driver to a VF and also to the
> >> +associated auxiliary device created by the ``pds_core`` driver.
> >> +
> >> +.. code-block:: bash
> >> +
> >> +  #!/bin/bash
> >> +
> >> +  modprobe pds_core
> >> +  modprobe vdpa
> >> +  modprobe pds_vdpa
> >> +
> >> +  PF_BDF=`grep -H "vDPA.*1" /sys/kernel/debug/pds_core/*/viftypes | head -1 | awk -F / '{print $6}'`
> >> +
> >> +  # Enable vDPA VF auxiliary device(s) in the PF
> >> +  devlink dev param set pci/$PF_BDF name enable_vnet value true cmode runtime
> >> +
> >
> > Does this mean we can't do per VF configuration for vDPA enablement
> > (e.g VF0 for vdpa VF1 to other type)?
>
> For now, yes, a PF only supports one VF type at a time.  We've thought
> about possibilities for some heterogeneous configurations, and tried to
> do some planning for future flexibility, but our current needs don't go
> that far.  If and when we get there, we might look at how Guatam's group
> did their VF personalities in their EF100 driver, or some other
> possibilities.

That's fine.


>
> Thanks for looking through these, I appreciate your time and comments.

You are welcome.

Thanks

>
> sln
>
>
> >
> > Thanks
> >
> >
> >> +  # Create a VF for vDPA use
> >> +  echo 1 > /sys/bus/pci/drivers/pds_core/$PF_BDF/sriov_numvfs
> >> +
> >> +  # Find the vDPA services/devices available
> >> +  PDS_VDPA_MGMT=`vdpa mgmtdev show | grep vDPA | head -1 | cut -d: -f1`
> >> +
> >> +  # Create a vDPA device for use in virtio network configurations
> >> +  vdpa dev add name vdpa1 mgmtdev $PDS_VDPA_MGMT mac 00:11:22:33:44:55
> >> +
> >> +  # Set up an ethernet interface on the vdpa device
> >> +  modprobe virtio_vdpa
> >> +
> >> +
> >> +
> >> +Enabling the driver
> >> +===================
> >> +
> >> +The driver is enabled via the standard kernel configuration system,
> >> +using the make command::
> >> +
> >> +  make oldconfig/menuconfig/etc.
> >> +
> >> +The driver is located in the menu structure at:
> >> +
> >> +  -> Device Drivers
> >> +    -> Network device support (NETDEVICES [=y])
> >> +      -> Ethernet driver support
> >> +        -> Pensando devices
> >> +          -> Pensando Ethernet PDS_VDPA Support
> >> +
> >> +Support
> >> +=======
> >> +
> >> +For general Linux networking support, please use the netdev mailing
> >> +list, which is monitored by Pensando personnel::
> >> +
> >> +  netdev@xxxxxxxxxxxxxxx
> >> +
> >> +For more specific support needs, please use the Pensando driver support
> >> +email::
> >> +
> >> +  drivers@xxxxxxxxxxx
> >> diff --git a/MAINTAINERS b/MAINTAINERS
> >> index cb21dcd3a02a..da981c5bc830 100644
> >> --- a/MAINTAINERS
> >> +++ b/MAINTAINERS
> >> @@ -22120,6 +22120,10 @@ SNET DPU VIRTIO DATA PATH ACCELERATOR
> >>   R:     Alvaro Karsz <alvaro.karsz@xxxxxxxxxxxxx>
> >>   F:     drivers/vdpa/solidrun/
> >>
> >> +PDS DSC VIRTIO DATA PATH ACCELERATOR
> >> +R:     Shannon Nelson <shannon.nelson@xxxxxxx>
> >> +F:     drivers/vdpa/pds/
> >> +
> >>   VIRTIO BALLOON
> >>   M:     "Michael S. Tsirkin" <mst@xxxxxxxxxx>
> >>   M:     David Hildenbrand <david@xxxxxxxxxx>
> >> diff --git a/drivers/vdpa/Kconfig b/drivers/vdpa/Kconfig
> >> index cd6ad92f3f05..c910cb119c1b 100644
> >> --- a/drivers/vdpa/Kconfig
> >> +++ b/drivers/vdpa/Kconfig
> >> @@ -116,4 +116,12 @@ config ALIBABA_ENI_VDPA
> >>            This driver includes a HW monitor device that
> >>            reads health values from the DPU.
> >>
> >> +config PDS_VDPA
> >> +       tristate "vDPA driver for AMD/Pensando DSC devices"
> >> +       depends on PDS_CORE
> >> +       help
> >> +         VDPA network driver for AMD/Pensando's PDS Core devices.
> >> +         With this driver, the VirtIO dataplane can be
> >> +         offloaded to an AMD/Pensando DSC device.
> >> +
> >>   endif # VDPA
> >> --
> >> 2.17.1
> >>
> >
>

_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux