[dpdk-dev] [PATCH v2 08/11] mempool/cnxk: add batch op init
Jerin Jacob
jerinjacobk at gmail.com
Sat Apr 3 16:34:04 CEST 2021
On Sat, Apr 3, 2021 at 7:49 PM Ashwin Sekhar T K <asekhar at marvell.com> wrote:
>
> Marvell CN10k mempool supports batch enqueue/dequeue which can
> dequeue up to 512 pointers and enqueue up to 15 pointers using
> a single instruction.
>
> These batch operations require a DMA memory to enqueue/dequeue
> pointers. This patch adds the initialization of this DMA memory.
>
> Signed-off-by: Ashwin Sekhar T K <asekhar at marvell.com>
> ---
> doc/guides/mempool/cnxk.rst | 5 +
> drivers/mempool/cnxk/cn10k_mempool_ops.c | 122 ++++++++++++++++++++++-
> drivers/mempool/cnxk/cnxk_mempool.h | 3 +
> drivers/mempool/cnxk/cnxk_mempool_ops.c | 13 ++-
> 4 files changed, 138 insertions(+), 5 deletions(-)
>
> +
> +static struct batch_op_data **batch_op_data;
Please remove the global variable as it will break the multi-process.
> +
> +#define BATCH_OP_DATA_GET(pool_id) \
> + batch_op_data[roc_npa_aura_handle_to_aura(pool_id)]
> +
> +#define BATCH_OP_DATA_SET(pool_id, op_data) \
> + do { \
> + uint64_t aura = roc_npa_aura_handle_to_aura(pool_id); \
> + batch_op_data[aura] = op_data; \
> + } while (0)
> +
Please check this can be made as static inline if there is NO performance cost.
More information about the dev
mailing list