[v2] app/crypto-perf: fix socket ID default value
Checks
Commit Message
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")
Fixes: 64c469b9e7d8 ("app/crypto-perf: check range of socket id")
Cc: bruce.richardson@intel.com
Cc: olivier.matz@6wind.com
Cc: stable@dpdk.org
Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Kai Ji <kai.ji@intel.com>
---
v2: check if socket ID equals SOCKET_ID_ANY
---
app/test-crypto-perf/main.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
Comments
> 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")
> Fixes: 64c469b9e7d8 ("app/crypto-perf: check range of socket id")
> Cc: bruce.richardson@intel.com
> Cc: olivier.matz@6wind.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Ciara Power <ciara.power@intel.com>
> Acked-by: Kai Ji <kai.ji@intel.com>
> ---
Acked-by: Akhil Goyal <gakhil@marvell.com>
Applied to dpdk-next-crypto
Thanks.
@@ -193,11 +193,10 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs)
#endif
struct rte_cryptodev_info cdev_info;
- 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)
+ int socket_id = rte_cryptodev_socket_id(cdev_id);
+
+ /* Use the first socket if SOCKET_ID_ANY is returned. */
+ if (socket_id == SOCKET_ID_ANY)
socket_id = 0;
rte_cryptodev_info_get(cdev_id, &cdev_info);
@@ -650,7 +649,11 @@ main(int argc, char **argv)
cdev_id = enabled_cdevs[cdev_index];
- uint8_t socket_id = rte_cryptodev_socket_id(cdev_id);
+ int socket_id = rte_cryptodev_socket_id(cdev_id);
+
+ /* Use the first socket if SOCKET_ID_ANY is returned. */
+ if (socket_id == SOCKET_ID_ANY)
+ socket_id = 0;
ctx[i] = cperf_testmap[opts.test].constructor(
session_pool_socket[socket_id].sess_mp,