[PATCH v2] common/cnxk: fix atomic load in batch ops

Jerin Jacob jerinj at marvell.com
Wed Jan 22 18:00:57 CET 2025



> -----Original Message-----
> From: Nawal Kishor <nkishor at marvell.com>
> Sent: Monday, December 2, 2024 10:28 PM
> To: dev at dpdk.org; Nithin Kumar Dabilpuram <ndabilpuram at marvell.com>;
> Kiran Kumar Kokkilagadda <kirankumark at marvell.com>; Sunil Kumar Kori
> <skori at marvell.com>; Satha Koteswara Rao Kottidi
> <skoteshwar at marvell.com>; Harman Kalra <hkalra at marvell.com>; Ashwin
> Sekhar T K <asekhar at marvell.com>; Jerin Jacob <jerinj at marvell.com>
> Cc: Nawal Kishor <nkishor at marvell.com>
> Subject: [PATCH v2] common/cnxk: fix atomic load in batch ops
> 
> In roc batch alloc wait code, __ATOMIC_RELAXED is changed to
> __ATOMIC_ACQUIRE in order to avoid potential out of order loads.
> 
> Fixes: 50d08d3934ec ("common/cnxk: fix batch alloc completion poll logic")
> 
> Signed-off-by: Nawal Kishor <nkishor at marvell.com>

Fixed the  following issues and applied to dpdk-next-net-mrvl/for-main. Thanks

Is it candidate for Cc: stable at dpdk.org backport?
        common/cnxk: fix atomic load in batch ops
Contributor name/email mismatch with .mailmap:
        Nawal Kishor <nkishor at marvell.com> is unknown in .mailmap


> ---
> v2: Fixed review comments
> 
>  drivers/common/cnxk/roc_npa.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/common/cnxk/roc_npa.h b/drivers/common/cnxk/roc_npa.h
> index f7cb4460e7..8525038810 100644
> --- a/drivers/common/cnxk/roc_npa.h
> +++ b/drivers/common/cnxk/roc_npa.h
> @@ -255,7 +255,7 @@ roc_npa_batch_alloc_wait(uint64_t *cache_line,
> unsigned int wait_us)
>  	/* Batch alloc status code is updated in bits [5:6] of the first word
>  	 * of the 128 byte cache line.
>  	 */
> -	while (((__atomic_load_n(cache_line, __ATOMIC_RELAXED) >> 5) &
> 0x3) ==
> +	while (((__atomic_load_n(cache_line, __ATOMIC_ACQUIRE) >> 5) &
> 0x3) ==
>  	       ALLOC_CCODE_INVAL)
>  		if (wait_us && (plt_tsc_cycles() - start) >= ticks)
>  			break;
> --
> 2.34.1



More information about the dev mailing list