From 57db1feb78b0898ca14e61d67539575467827afa Mon Sep 17 00:00:00 2001 From: Dharmik Thakkar Date: Wed, 4 Nov 2020 12:58:56 -0600 Subject: [PATCH] test/lpm: report errors in RCU perf tests Return error if Add/Delete fail in multiwriter perf test Return error if single or multi writer test fails Fixes: eff30b59cc2e ("test/lpm: add RCU performance tests") Cc: stable@dpdk.org Signed-off-by: Dharmik Thakkar Reviewed-by: Ruifeng Wang Reviewed-by: Honnappa Nagarahalli Acked-by: Vladimir Medvedkin --- app/test/test_lpm_perf.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/test/test_lpm_perf.c b/app/test/test_lpm_perf.c index 45164b2321..873ecf511c 100644 --- a/app/test/test_lpm_perf.c +++ b/app/test/test_lpm_perf.c @@ -453,6 +453,7 @@ test_lpm_rcu_qsbr_writer(void *arg) next_hop_add) != 0) { printf("Failed to add iteration %d, route# %d\n", i, j); + goto error; } pthread_mutex_unlock(&lpm_mutex); } @@ -464,6 +465,7 @@ test_lpm_rcu_qsbr_writer(void *arg) large_ldepth_route_table[j].depth) != 0) { printf("Failed to delete iteration %d, route# %d\n", i, j); + goto error; } pthread_mutex_unlock(&lpm_mutex); } @@ -474,6 +476,10 @@ test_lpm_rcu_qsbr_writer(void *arg) __atomic_fetch_add(&gwrite_cycles, total_cycles, __ATOMIC_RELAXED); return 0; + +error: + pthread_mutex_unlock(&lpm_mutex); + return -1; } /* @@ -947,9 +953,11 @@ test_lpm_perf(void) rte_lpm_delete_all(lpm); rte_lpm_free(lpm); - test_lpm_rcu_perf(); + if (test_lpm_rcu_perf() < 0) + return -1; - test_lpm_rcu_perf_multi_writer(); + if (test_lpm_rcu_perf_multi_writer() < 0) + return -1; return 0; } -- 2.20.1