[PATCH] mempool/cnxk: avoid batch op free for empty mempools

Ashwin Sekhar Thalakalath Kottilveetil asekhar at marvell.com
Mon May 23 20:15:53 CEST 2022


PING.

Ashwin Sekhar T K 

> -----Original Message-----
> From: Ashwin Sekhar T K <asekhar at marvell.com>
> Sent: Thursday, April 28, 2022 3:30 PM
> To: dev at dpdk.org
> Cc: Jerin Jacob Kollanukkaran <jerinj at marvell.com>; Sunil Kumar Kori
> <skori at marvell.com>; Satha Koteswara Rao Kottidi
> <skoteshwar at marvell.com>; Pavan Nikhilesh Bhagavatula
> <pbhagavatula at marvell.com>; Kiran Kumar Kokkilagadda
> <kirankumark at marvell.com>; Satheesh Paul Antonysamy
> <psatheesh at marvell.com>; Ashwin Sekhar Thalakalath Kottilveetil
> <asekhar at marvell.com>; Anoob Joseph <anoobj at marvell.com>; Akhil
> Goyal <gakhil at marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpuram at marvell.com>; Harman Kalra <hkalra at marvell.com>
> Subject: [PATCH] mempool/cnxk: avoid batch op free for empty mempools
> 
> Batch op data is initialized inside mempool alloc. But in case of empty
> mempools, the alloc function is not called and hence the initialization of batch
> op data is also not done. So ensure the validity of batch op data inside
> mempool free.
> 
> Signed-off-by: Ashwin Sekhar T K <asekhar at marvell.com>
> ---
>  drivers/mempool/cnxk/cn10k_mempool_ops.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/mempool/cnxk/cn10k_mempool_ops.c
> b/drivers/mempool/cnxk/cn10k_mempool_ops.c
> index 6ebbf91de5..a02e01cea0 100644
> --- a/drivers/mempool/cnxk/cn10k_mempool_ops.c
> +++ b/drivers/mempool/cnxk/cn10k_mempool_ops.c
> @@ -109,6 +109,12 @@ batch_op_fini(struct rte_mempool *mp)
>  	int i;
> 
>  	op_data = batch_op_data_get(mp->pool_id);
> +	if (!op_data) {
> +		/* Batch op data can be uninitialized in case of empty
> +		 * mempools.
> +		 */
> +		return;
> +	}
> 
>  	rte_wmb();
>  	for (i = 0; i < RTE_MAX_LCORE; i++) {
> --
> 2.32.0



More information about the dev mailing list