When a core that is not used by the rte is specified in the config
for testing, the problem of infinite loop occurs. The root cause
is that the program waits for the completion of the test task when
the test worker fails to be started on the lcore. This patch fix it.

Fixes: 533d7e7f66f3 ("app/dma-perf: support config per device")
Cc: sta...@dpdk.org

Signed-off-by: Dengdui Huang <huangdeng...@huawei.com>
---
 app/test-dma-perf/benchmark.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/app/test-dma-perf/benchmark.c b/app/test-dma-perf/benchmark.c
index 6d617ea200..351c1c966e 100644
--- a/app/test-dma-perf/benchmark.c
+++ b/app/test-dma-perf/benchmark.c
@@ -751,7 +751,10 @@ mem_copy_benchmark(struct test_configure *cfg)
                                goto out;
                }
 
-               rte_eal_remote_launch(get_work_function(cfg), (void 
*)(lcores[i]), lcore_id);
+               if (rte_eal_remote_launch(get_work_function(cfg), (void 
*)(lcores[i]), lcore_id)) {
+                       printf("Error: Fail to start the test on lcore %d\n", 
lcore_id);
+                       goto out;
+               }
        }
 
        while (1) {
-- 
2.33.0

Reply via email to