7a8d9e0540c727f09ce85e1719d46ec84087a93d
[dpdk.git] / doc / guides / mempool / cnxk.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright(C) 2021 Marvell.
3
4 cnxk NPA Mempool Driver
5 =======================
6
7 The cnxk NPA PMD (**librte_mempool_cnxk**) provides mempool driver support for
8 the integrated mempool device found in **Marvell OCTEON CN9K/CN10K** SoC family.
9
10 More information about cnxk SoC can be found at `Marvell Official Website
11 <https://www.marvell.com/embedded-processors/infrastructure-processors/>`_.
12
13 Features
14 --------
15
16 cnxk 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
24 Prerequisites and Compilation procedure
25 ---------------------------------------
26
27    See :doc:`../platform/cnxk` for setup information.
28
29 Pre-Installation Configuration
30 ------------------------------
31
32
33 Debugging Options
34 ~~~~~~~~~~~~~~~~~
35
36 .. _table_cnxk_mempool_debug_options:
37
38 .. table:: cnxk mempool debug options
39
40    +---+------------+-------------------------------------------------------+
41    | # | Component  | EAL log command                                       |
42    +===+============+=======================================================+
43    | 1 | NPA        | --log-level='pmd\.mempool.cnxk,8'                     |
44    +---+------------+-------------------------------------------------------+
45
46 Standalone mempool device
47 ~~~~~~~~~~~~~~~~~~~~~~~~~
48
49    The ``usertools/dpdk-devbind.py`` script shall enumerate all the mempool
50    devices available in the system. In order to avoid, the end user to bind the
51    mempool device prior to use ethdev and/or eventdev device, the respective
52    driver configures an NPA LF and attach to the first probed ethdev or eventdev
53    device. In case, if end user need to run mempool as a standalone device
54    (without ethdev or eventdev), end user needs to bind a mempool device using
55    ``usertools/dpdk-devbind.py``