Refuse to run DMA/CPU mem-copy cases when any worker is bound to the EAL main lcore.
Signed-off-by: Rupesh Chiluka <[email protected]> --- app/test-dma-perf/main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/test-dma-perf/main.c b/app/test-dma-perf/main.c index 4249dcfd3d..b6aa5b8401 100644 --- a/app/test-dma-perf/main.c +++ b/app/test-dma-perf/main.c @@ -109,6 +109,7 @@ run_test_case(struct test_configure *case_cfg) static void run_test(uint32_t case_id, struct test_configure *case_cfg) { + uint32_t main_lcore = rte_get_main_lcore(); uint32_t nb_lcores = rte_lcore_count(); struct test_configure_entry *mem_size = &case_cfg->mem_size; struct test_configure_entry *buf_size = &case_cfg->buf_size; @@ -122,6 +123,14 @@ run_test(uint32_t case_id, struct test_configure *case_cfg) return; } + for (uint32_t i = 0; i < case_cfg->num_worker; i++) { + if (case_cfg->dma_config[i].lcore_dma_map.lcore == main_lcore) { + printf("Case %u: worker %u cannot run on the EAL main lcore (%u).\n", + case_id, i, main_lcore); + return; + } + } + printf("Number of used lcores: %u.\n", nb_lcores); if (mem_size->incr != 0) -- 2.48.1

