]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/doc/guides/mempool/octeontx2.rst
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / dpdk / doc / guides / mempool / octeontx2.rst
CommitLineData
f67539c2
TL
1.. SPDX-License-Identifier: BSD-3-Clause
2 Copyright(c) 2019 Marvell International Ltd.
3
4OCTEON TX2 NPA Mempool Driver
5=============================
6
7The OCTEON TX2 NPA PMD (**librte_mempool_octeontx2**) provides mempool
8driver support for the integrated mempool device found in **Marvell OCTEON TX2** SoC family.
9
10More information about OCTEON TX2 SoC can be found at `Marvell Official Website
11<https://www.marvell.com/embedded-processors/infrastructure-processors/>`_.
12
13Features
14--------
15
16OCTEON TX2 NPA PMD supports:
17
18- Up to 128 NPA LFs
19- 1M Pools per LF
20- HW mempool manager
21- Ethdev Rx buffer allocation in HW to save CPU cycles in the Rx path.
22- Ethdev Tx buffer recycling in HW to save CPU cycles in the Tx path.
23
24Prerequisites and Compilation procedure
25---------------------------------------
26
27 See :doc:`../platform/octeontx2` for setup information.
28
29Pre-Installation Configuration
30------------------------------
31
32Compile time Config Options
33~~~~~~~~~~~~~~~~~~~~~~~~~~~
34
35The following option can be modified in the ``config`` file.
36
37- ``CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL`` (default ``y``)
38
39 Toggle compilation of the ``librte_mempool_octeontx2`` driver.
40
41Runtime Config Options
42~~~~~~~~~~~~~~~~~~~~~~
43
44- ``Maximum number of mempools per application`` (default ``128``)
45
46 The maximum number of mempools per application needs to be configured on
47 HW during mempool driver initialization. HW can support up to 1M mempools,
48 Since each mempool costs set of HW resources, the ``max_pools`` ``devargs``
49 parameter is being introduced to configure the number of mempools required
50 for the application.
51 For example::
52
53 -w 0002:02:00.0,max_pools=512
54
55 With the above configuration, the driver will set up only 512 mempools for
56 the given application to save HW resources.
57
58.. note::
59
60 Since this configuration is per application, the end user needs to
61 provide ``max_pools`` parameter to the first PCIe device probed by the given
62 application.
63
64- ``Lock NPA contexts in NDC``
65
66 Lock NPA aura and pool contexts in NDC cache.
67 The device args take hexadecimal bitmask where each bit represent the
68 corresponding aura/pool id.
69
70 For example::
71
72 -w 0002:02:00.0,npa_lock_mask=0xf
73
74Debugging Options
75~~~~~~~~~~~~~~~~~
76
77.. _table_octeontx2_mempool_debug_options:
78
79.. table:: OCTEON TX2 mempool debug options
80
81 +---+------------+-------------------------------------------------------+
82 | # | Component | EAL log command |
83 +===+============+=======================================================+
84 | 1 | NPA | --log-level='pmd\.mempool.octeontx2,8' |
85 +---+------------+-------------------------------------------------------+
86
87Standalone mempool device
88~~~~~~~~~~~~~~~~~~~~~~~~~
89
90 The ``usertools/dpdk-devbind.py`` script shall enumerate all the mempool devices
91 available in the system. In order to avoid, the end user to bind the mempool
92 device prior to use ethdev and/or eventdev device, the respective driver
93 configures an NPA LF and attach to the first probed ethdev or eventdev device.
94 In case, if end user need to run mempool as a standalone device
95 (without ethdev or eventdev), end user needs to bind a mempool device using
96 ``usertools/dpdk-devbind.py``
97
98 Example command to run ``mempool_autotest`` test with standalone OCTEONTX2 NPA device::
99
100 echo "mempool_autotest" | build/app/test -c 0xf0 --mbuf-pool-ops-name="octeontx2_npa"