[EXT] [PATCH] app/crypto-perf: fix socket ID default value

Akhil Goyal gakhil at marvell.com
Wed Jul 5 20:07:27 CEST 2023


> Due to recent changes to the default device socket ID,
> before being used as an index for session mempool list,
> the socket ID should be set to 0 if unknown (-1).
> 
> Fixes: 7dcd73e37965 ("drivers/bus: set device NUMA node to unknown by
> default")
> Cc: olivier.matz at 6wind.com
> Cc: stable at dpdk.org
> 
> Signed-off-by: Ciara Power <ciara.power at intel.com>
> ---
>  app/test-crypto-perf/main.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c
> index af5bd0d23b..b74e7ba118 100644
> --- a/app/test-crypto-perf/main.c
> +++ b/app/test-crypto-perf/main.c
> @@ -651,6 +651,11 @@ main(int argc, char **argv)
>  		cdev_id = enabled_cdevs[cdev_index];
> 
>  		uint8_t socket_id = rte_cryptodev_socket_id(cdev_id);
> +		/* range check the socket_id, negative values become big
> +		 * positive ones due to use of unsigned value
> +		 */
> +		if (socket_id >= RTE_MAX_NUMA_NODES)
> +			socket_id = 0;

Shouldn't we make this as
int socket_id = rte_cryptodev_socket_id(cdev_id);
if (socket_id == SOCKET_ID_ANY)
	socket_id = 0;	/* Use the first socket if SOCKET_ID_ANY is returned. */

Since rte_cryptodev_socket_id returns signed value,
the application should not typecast it to unsigned value and then check for max value.
Same comment for the ipsec-secgw patch.



More information about the stable mailing list