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