[dpdk-dev,v4,2/3] doc: add mempool and octeontx mempool device

Message ID 20171020152124.14746-3-santosh.shukla@caviumnetworks.com (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Santosh Shukla Oct. 20, 2017, 3:21 p.m. UTC
  This commit adds a section to the docs listing the mempool
device PMDs available.

It then adds the octeontx fpavf mempool PMD to the listed mempool
devices.

Cc: John McNamara <john.mcnamara@intel.com>

Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
---
v3 --> v4:
- Moved Prerequisite section from mempool/octeontx.rst to
  platform/octeontx.rst.

 doc/guides/index.rst             |   1 +
 doc/guides/mempool/index.rst     |  40 +++++++++++++++
 doc/guides/mempool/octeontx.rst  | 104 +++++++++++++++++++++++++++++++++++++++
 doc/guides/platform/octeontx.rst |   3 ++
 4 files changed, 148 insertions(+)
 create mode 100644 doc/guides/mempool/index.rst
 create mode 100644 doc/guides/mempool/octeontx.rst
  

Comments

John McNamara Oct. 23, 2017, 2:48 p.m. UTC | #1
> -----Original Message-----
> From: Santosh Shukla [mailto:santosh.shukla@caviumnetworks.com]
> Sent: Friday, October 20, 2017 4:21 PM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; jerin.jacob@caviumnetworks.com; Mcnamara, John
> <john.mcnamara@intel.com>; Santosh Shukla
> <santosh.shukla@caviumnetworks.com>
> Subject: [PATCH v4 2/3] doc: add mempool and octeontx mempool device
> 
> This commit adds a section to the docs listing the mempool device PMDs
> available.
> 
> It then adds the octeontx fpavf mempool PMD to the listed mempool devices.
> 


> ...
> diff --git a/doc/guides/index.rst b/doc/guides/index.rst index
> 9c24dcb46..c92bb8003 100644
> --- a/doc/guides/index.rst
> +++ b/doc/guides/index.rst
> @@ -48,3 +48,4 @@ DPDK documentation
>     rel_notes/index
>     faq/index
>     platform/index
> +   mempool/index

This new section should go before platform and after evendev.





> +Feature
> +-------

Probably "Features" is better.



> +
> +Features of the OCTEONTX FPAVF PMD are:
> +
> +- 32 SR-IOV Virtual functions
> +- 32 Pools
> +- HW mempool manager
> +
> +Supported OCTEONTX SoCs
> +-----------------------
> +
> +- CN83xx
> +
> +Prerequisites
> +-------------
> +
> +Ref: `OCTEONTX Platform Driver` for setup information of PMD.

You could use a link here, like this:

See :doc:`../platform/octeontx` for setup information.

John
  

Patch

diff --git a/doc/guides/index.rst b/doc/guides/index.rst
index 9c24dcb46..c92bb8003 100644
--- a/doc/guides/index.rst
+++ b/doc/guides/index.rst
@@ -48,3 +48,4 @@  DPDK documentation
    rel_notes/index
    faq/index
    platform/index
+   mempool/index
diff --git a/doc/guides/mempool/index.rst b/doc/guides/mempool/index.rst
new file mode 100644
index 000000000..440fb175a
--- /dev/null
+++ b/doc/guides/mempool/index.rst
@@ -0,0 +1,40 @@ 
+..  BSD LICENSE
+    Copyright(c) 2017 Cavium Inc. 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 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.
+
+Mempool Device Driver
+=====================
+
+The following are a list of mempool PMDs, which can be used from an
+application through the mempool API.
+
+.. toctree::
+    :maxdepth: 2
+    :numbered:
+
+    octeontx
diff --git a/doc/guides/mempool/octeontx.rst b/doc/guides/mempool/octeontx.rst
new file mode 100644
index 000000000..88dabc5d2
--- /dev/null
+++ b/doc/guides/mempool/octeontx.rst
@@ -0,0 +1,104 @@ 
+..  BSD LICENSE
+    Copyright (C) Cavium, Inc. 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, Inc 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 FPAVF Mempool Driver
+=============================
+
+The OCTEONTX FPAVF PMD (**librte_mempool_octeontx**) is a mempool
+driver for offload mempool device found in **Cavium OCTEONTX** SoC
+family.
+
+More information can be found at `Cavium, Inc Official Website
+<http://www.cavium.com/OCTEON-TX_ARM_Processors.html>`_.
+
+Feature
+-------
+
+Features of the OCTEONTX FPAVF PMD are:
+
+- 32 SR-IOV Virtual functions
+- 32 Pools
+- HW mempool manager
+
+Supported OCTEONTX SoCs
+-----------------------
+
+- CN83xx
+
+Prerequisites
+-------------
+
+Ref: `OCTEONTX Platform Driver` for setup information of PMD.
+
+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_MBUF_DEFAULT_MEMPOOL_OPS`` ( set to ``octeontx_fpavf``)
+
+  Set default mempool ops to octeontx_fpavf.
+
+- ``CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL`` (default ``y``)
+
+  Toggle compilation of the ``librte_mempool_octeontx`` driver.
+
+- ``CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL_DEBUG`` (default ``n``)
+
+  Toggle display of generic debugging messages
+
+Driver Compilation
+~~~~~~~~~~~~~~~~~~
+
+To compile the OCTEONTX FPAVF MEMPOOL 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 test-build
+
+
+Initialization
+--------------
+
+The octeontx fpavf mempool initialization similar to other mempool
+drivers like ring. However user need to pass --base-virtaddr as
+command line input to application example test_mempool.c application.
+
+Example:
+
+.. code-block:: console
+
+    ./build/app/test -c 0xf --base-virtaddr=0x100000000000 \
+                        --mbuf-pool-ops-name="octeontx_fpavf"
diff --git a/doc/guides/platform/octeontx.rst b/doc/guides/platform/octeontx.rst
index 11cff6a11..bd2bb156b 100644
--- a/doc/guides/platform/octeontx.rst
+++ b/doc/guides/platform/octeontx.rst
@@ -43,6 +43,9 @@  Common Offload HW Block Drivers
 1. **Eventdev Driver**
    Ref:`OCTEONTX SSOVF Eventdev Driver`
 
+2. **Mempool Driver**
+   Ref:`OCTEONTX FPAVF Mempool Driver`
+
 Steps To Setup Platform Driver
 ------------------------------