[dpdk-dev] [PATCH v2 00/10] Cavium Octeontx external mempool driver

Santosh Shukla santosh.shukla at caviumnetworks.com
Thu Aug 31 08:37:09 CEST 2017


v2:
Patch implements the HW mempool offload driver for packets buffer.
This HW mempool offload driver has dependency on:
- IOVA infrastrucure [1].
- Dynamically configure mempool handle (ie.. --mbuf-pool-ops eal arg) [2].
- Infrastructure to support octeontx HW mempool manager [3].

Mempool driver based on v17.11-rc0. Series has dependency
on upstream patches [1],[2],[3]. Git source repo for all those dependancy
patches + external mempool driver patches are located at [4].


A new pool handle called "octeontx_fpavf" introduced and is being configured
using eal arg ----mbuf-pool-ops="octeontx_fpavf", Note that this --eal arg is
under review.
Or
Can be configured statically like below:
CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS="octeontx_fpavf"

A new mempool driver specific CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL config
is introduced.

Refer doc patch [10/10] for build and run steps.

v1 --> v2:
- Removed global rte_octeontx_fpa_bufpool_gpool() api, keeping  inline
function name octeontx_fpa_bufpool_gpool() in header file.
- Release doc cleanup.
- removed gpool2handle for loop iterate approach, Now gpool-id stays with
gpool_handle's (lsb 5bit of handle).

v1:
Patch summary:
- [1/10] : add mempool offload HW block definition.
- [2/10] : support for build and log infra, needed for pmd driver.
- [3/10] : probe mempool PCIe vf device
- [4/10] : support pool alloc
- [5/10] : support pool free
- [6/10] : support pool enq and deq
- [7/10] : support pool get count
- [8/10] : support pool get capability
- [9/10] : support pool update range
- [10/10] : doc and release info

Checkpatch status:
- Noticed false positive line over 80 char debug warning
- asm_ false +ve error.

Thanks.

[1] http://dpdk.org/ml/archives/dev/2017-August/072871.html
[2] http://dpdk.org/ml/archives/dev/2017-August/072910.html
[3] http://dpdk.org/ml/archives/dev/2017-August/072892.html
[4] https://github.com/sshukla82/dpdk branch: mempool-v2

Santosh Shukla (10):
  mempool/octeontx: add HW constants
  mempool/octeontx: add build and log infrastructure
  mempool/octeontx: probe fpavf pcie devices
  mempool/octeontx: implement pool alloc
  mempool/octeontx: implement pool free
  mempool/octeontx: implement pool enq and deq
  mempool/octeontx: implement pool get count
  mempool/octeontx: implement pool get capability
  mempool/octeontx: implement pool update range
  doc: add mempool and octeontx mempool device

 MAINTAINERS                                        |   7 +
 config/common_base                                 |   6 +
 doc/guides/index.rst                               |   1 +
 doc/guides/mempool/index.rst                       |  40 +
 doc/guides/mempool/octeontx.rst                    | 127 ++++
 drivers/Makefile                                   |   5 +-
 drivers/mempool/Makefile                           |   2 +
 drivers/mempool/octeontx/Makefile                  |  74 ++
 drivers/mempool/octeontx/octeontx_fpavf.c          | 834 +++++++++++++++++++++
 drivers/mempool/octeontx/octeontx_fpavf.h          | 150 ++++
 drivers/mempool/octeontx/rte_mempool_octeontx.c    | 250 ++++++
 .../octeontx/rte_mempool_octeontx_version.map      |   4 +
 mk/rte.app.mk                                      |   1 +
 13 files changed, 1499 insertions(+), 2 deletions(-)
 create mode 100644 doc/guides/mempool/index.rst
 create mode 100644 doc/guides/mempool/octeontx.rst
 create mode 100644 drivers/mempool/octeontx/Makefile
 create mode 100644 drivers/mempool/octeontx/octeontx_fpavf.c
 create mode 100644 drivers/mempool/octeontx/octeontx_fpavf.h
 create mode 100644 drivers/mempool/octeontx/rte_mempool_octeontx.c
 create mode 100644 drivers/mempool/octeontx/rte_mempool_octeontx_version.map

-- 
2.11.0



More information about the dev mailing list