app/crypto-perf: fix return status detection

Message ID 1560545805-15249-1-git-send-email-tjozwiakgm@gmail.com (mailing list archive)
State Accepted, archived
Delegated to: akhil goyal
Headers
Series app/crypto-perf: fix return status detection |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Tomasz Jóźwiak June 14, 2019, 8:56 p.m. UTC
Currently, there's no return status check from lcore's jobs.
In case of fail - crypto-perf tool returns success anyway.
This patch adds such a detection and returns proper status at the end.

Fixes: ce8af1a4398d ("app/crypto-perf: wait for cores launched by app")
Cc: stable@dpdk.org

Signed-off-by: Tomasz Jozwiak <tjozwiakgm@gmail.com>
---
 app/test-crypto-perf/main.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
  

Comments

Akhil Goyal July 1, 2019, 11:36 a.m. UTC | #1
> 
> Currently, there's no return status check from lcore's jobs.
> In case of fail - crypto-perf tool returns success anyway.
> This patch adds such a detection and returns proper status at the end.
> 
> Fixes: ce8af1a4398d ("app/crypto-perf: wait for cores launched by app")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Tomasz Jozwiak <tjozwiakgm@gmail.com>
> ---
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>

Applied to dpdk-next-crypto

Thanks.
  

Patch

diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c
index 4247f6a..ad72d7e 100644
--- a/app/test-crypto-perf/main.c
+++ b/app/test-crypto-perf/main.c
@@ -664,9 +664,12 @@  main(int argc, char **argv)
 
 			if (i == total_nb_qps)
 				break;
-			rte_eal_wait_lcore(lcore_id);
+			ret |= rte_eal_wait_lcore(lcore_id);
 			i++;
 		}
+
+		if (ret != EXIT_SUCCESS)
+			goto err;
 	} else {
 
 		/* Get next size from range or list */
@@ -691,10 +694,13 @@  main(int argc, char **argv)
 
 				if (i == total_nb_qps)
 					break;
-				rte_eal_wait_lcore(lcore_id);
+				ret |= rte_eal_wait_lcore(lcore_id);
 				i++;
 			}
 
+			if (ret != EXIT_SUCCESS)
+				goto err;
+
 			/* Get next size from range or list */
 			if (opts.inc_buffer_size != 0)
 				opts.test_buffer_size += opts.inc_buffer_size;