> From: Jerin Jacob [mailto:jerin.ja...@caviumnetworks.com] > Sent: Friday, March 3, 2017 5:28 PM > To: dev@dpdk.org > Cc: thomas.monja...@6wind.com; Richardson, Bruce > <bruce.richard...@intel.com>; Van > Haaren, Harry <harry.van.haa...@intel.com>; hemant.agra...@nxp.com; Eads, Gage > <gage.e...@intel.com>; nipun.gu...@nxp.com; > santosh.shu...@caviumnetworks.com; Jerin > Jacob <jerin.ja...@caviumnetworks.com> > Subject: [dpdk-dev] [PATCH 39/39] doc: add OCTEONTX ssovf details > > Signed-off-by: Jerin Jacob <jerin.ja...@caviumnetworks.com> > Signed-off-by: Santosh Shukla <santosh.shu...@caviumnetworks.com>
Comments inline, but after that Acked-by: Harry van Haaren <harry.van.haa...@intel.com> > --- > MAINTAINERS | 9 +++ > doc/guides/eventdevs/index.rst | 38 +++++++++++ > doc/guides/eventdevs/octeontx.rst | 131 > ++++++++++++++++++++++++++++++++++++++ > doc/guides/index.rst | 1 + > 4 files changed, 179 insertions(+) > create mode 100644 doc/guides/eventdevs/index.rst > create mode 100644 doc/guides/eventdevs/octeontx.rst > > diff --git a/MAINTAINERS b/MAINTAINERS > index c76d924..cbc5fe4 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -484,6 +484,15 @@ M: Fan Zhang <roy.fan.zh...@intel.com> > F: drivers/crypto/scheduler/ > F: doc/guides/cryptodevs/scheduler.rst > > +Eventdev Drivers > +------------------ > + > +Cavium OCTEONTX ssovf > +M: Jerin Jacob <jerin.ja...@caviumnetworks.com> > +M: Santosh Shukla <santosh.shu...@caviumnetworks.com> > +F: drivers/event/octeontx/ > +F: app/test/test_eventdev_octeontx.c > +F: doc/guides/eventdevs/octeontx.rst > > Packet processing > ----------------- > diff --git a/doc/guides/eventdevs/index.rst b/doc/guides/eventdevs/index.rst > new file mode 100644 > index 0000000..52be539 > --- /dev/null > +++ b/doc/guides/eventdevs/index.rst > @@ -0,0 +1,38 @@ > +.. BSD LICENSE > + Copyright(c) 2015 - 2017 Intel Corporation. All rights reserved. Copy - paste error I think ^^^^^ > + > + Redistribution and use in source and binary forms, with or without > + modification, are permitted provided that the following conditions > + are met: > + > + * Redistributions of source code must retain the above copyright > + notice, this list of conditions and the following disclaimer. > + * Redistributions in binary form must reproduce the above copyright > + notice, this list of conditions and the following disclaimer in > + the documentation and/or other materials provided with the > + distribution. > + * Neither the name of Intel Corporation nor the names of its > + contributors may be used to endorse or promote products derived > + from this software without specific prior written permission. > + > + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + > +Event Device Drivers > +===================== > + > + > +.. toctree:: > + :maxdepth: 2 > + :numbered: > + > + octeontx > diff --git a/doc/guides/eventdevs/octeontx.rst > b/doc/guides/eventdevs/octeontx.rst > new file mode 100644 > index 0000000..eec27ab > --- /dev/null > +++ b/doc/guides/eventdevs/octeontx.rst > @@ -0,0 +1,131 @@ > +.. BSD LICENSE > + Copyright (C) Cavium networks Ltd. 2017. > + All rights reserved. > + > + Redistribution and use in source and binary forms, with or without > + modification, are permitted provided that the following conditions > + are met: > + > + * Redistributions of source code must retain the above copyright > + notice, this list of conditions and the following disclaimer. > + * Redistributions in binary form must reproduce the above copyright > + notice, this list of conditions and the following disclaimer in > + the documentation and/or other materials provided with the > + distribution. > + * Neither the name of Cavium networks nor the names of its > + contributors may be used to endorse or promote products derived > + from this software without specific prior written permission. > + > + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + > +OCTEONTX SSOVF Eventdev Driver > +============================== > + > +The OCTEONTX SSOVF PMD (**librte_pmd_octeontx_ssovf**) provides poll mode > +eventdev driver support for the inbuilt event device found in the **Cavium > OCTEONTX** > +SoC family as well as their virtual functions (VF) in SR-IOV context. > + > +More information can be found at `Cavium Networks Official Website > +<http://www.cavium.com/OCTEON-TX_ARM_Processors.html>`_. > + > +Features > +-------- > + > +Features of the OCTEONTX SSOVF PMD are: > + > +- 64 Event queues > +- 32 Event ports > +- HW event scheduler > +- Supports 1M flows per event queue > +- Flow based event pipeling > +- Flow pinning support in flow based event pipeling > +- Queue based event pipeling Typo in Pipelining for the above 3 items > +- Supports ATOMIC,ORDERED,PARALLEL schedule types per flow > +- Event scheduling QoS based on event queue priority > +- Open system with configurable amount of outstanding events > +- HW accelerated dequeue timeout support to enable power management > +- SR-IOV VF > + > +Supported OCTEONTX SoCs > +----------------------- > +- CN83xx > + > +Prerequisites > +------------- > + > +There are three main pre-perquisites for executing SSOVF PMD on a OCTEONTX > +compatible board: > + > +1. **OCTEONTX Linux kernel PF driver for Network acceleration HW blocks** > + > + The OCTEONTX Linux kernel drivers (including the required PF driver for > the > + SSOVF) are available on Github at `octeontx-kmod > <https://github.com/caviumnetworks/octeontx-kmod>`_ > + along with build, install and dpdk usage instructions. > + > +2. **ARM64 Tool Chain** > + > + For example, the *aarch64* Linaro Toolchain, which can be obtained from > + `here <https://releases.linaro.org/components/toolchain/binaries/4.9- > 2017.01/aarch64-linux-gnu>`_. > + > +3. **Rootfile system** > + > + Any *aarch64* supporting filesystem can be used. For example, > + Ubuntu 15.10 (Wily) or 16.04 LTS (Xenial) userland which can be obtained > + from > `<http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base- > 16.04.1-base-arm64.tar.gz>`_. > + > + As an alternative method, SSOVF PMD can also be executed using images > provided > + as part of SDK from Cavium. The SDK includes all the above prerequisites > necessary > + to bring up a OCTEONTX board. > + > + SDK and related information can be obtained from: `Cavium support site > <https://support.cavium.com/>`_. > + > +- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to > setup the basic > DPDK environment. > + > +Pre-Installation Configuration > +------------------------------ > + > +Config File Options > +~~~~~~~~~~~~~~~~~~~ > + > +The following options can be modified in the ``config`` file. > +Please note that enabling debugging options may affect system performance. > + > +- ``CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF`` (default ``n``) > + > + By default it is enabled only for defconfig_arm64-thunderx-* config. > + Toggle compilation of the ``librte_pmd_octeontx_ssovf`` driver. > + > +- ``CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF_DEBUG`` (default ``n``) > + > + Toggle display of generic debugging messages > + > +Driver Compilation > +~~~~~~~~~~~~~~~~~~ > + > +To compile the OCTEONTX SSOVF PMD for Linux arm64 gcc target, run the > +following “make” command: > + > +.. code-block:: console > + > + cd <DPDK-source-directory> > + make config T=arm64-thunderx-linuxapp-gcc install > + > +Limitations > +----------- > + > +Burst mode support > +~~~~~~~~~~~~~~~~~~ > + > +Burt mode is not supported. Dequeue and Enqueue functions accepts only single Typo here, burst > +event at a time > + > diff --git a/doc/guides/index.rst b/doc/guides/index.rst > index 82b00e9..63716b0 100644 > --- a/doc/guides/index.rst > +++ b/doc/guides/index.rst > @@ -43,6 +43,7 @@ DPDK documentation > testpmd_app_ug/index > nics/index > cryptodevs/index > + eventdevs/index > xen/index > contributing/index > rel_notes/index > -- > 2.5.5