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.richard...@intel.com
Cc: olivier.m...@6wind.com
Cc: sta...@dpdk.org

Signed-off-by: Ciara Power <ciara.po...@intel.com>
Acked-by: Kai Ji <kai...@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(-)

diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c
index af5bd0d23b..bc1f0f9659 100644
--- a/app/test-crypto-perf/main.c
+++ b/app/test-crypto-perf/main.c
@@ -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,
-- 
2.25.1

Reply via email to