[dpdk-dev] [EXT] [PATCH v1 2/5] app/eventdev: remove unnecessary barriers for perf test

Pavan Nikhilesh Bhagavatula pbhagavatula at marvell.com
Mon Jan 25 18:48:22 CET 2021


>For "processed_pkts" and "total_latency" functions, no operations
>should
>keep the order that being executed before loading
>"worker[i].processed_pkts". Thus rmb is unnecessary before loading.
>
>For "perf_launch_lcores" function, wmb after that the main lcore
>updates the variable "t->done", which represents the end of the test
>signal, is unnecessary. Because after the main lcore updates this
>siginal variable, it will jump out of the launch function loop, and wait
>other lcores stop or return error in the main function(evt_main.c).
>During this time, there is no important storing operation and thus no
>need for wmb.
>
>Signed-off-by: Feifei Wang <feifei.wang2 at arm.com>
>Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>

Acked-by: Pavan Nikhilesh <pbhagavatula at marvell.com>

>---
> app/test-eventdev/test_perf_common.c | 4 ----
> 1 file changed, 4 deletions(-)
>
>diff --git a/app/test-eventdev/test_perf_common.c b/app/test-
>eventdev/test_perf_common.c
>index 955edb752..34cded373 100644
>--- a/app/test-eventdev/test_perf_common.c
>+++ b/app/test-eventdev/test_perf_common.c
>@@ -224,7 +224,6 @@ processed_pkts(struct test_perf *t)
> 	uint8_t i;
> 	uint64_t total = 0;
>
>-	rte_smp_rmb();
> 	for (i = 0; i < t->nb_workers; i++)
> 		total += t->worker[i].processed_pkts;
>
>@@ -237,7 +236,6 @@ total_latency(struct test_perf *t)
> 	uint8_t i;
> 	uint64_t total = 0;
>
>-	rte_smp_rmb();
> 	for (i = 0; i < t->nb_workers; i++)
> 		total += t->worker[i].latency;
>
>@@ -327,7 +325,6 @@ perf_launch_lcores(struct evt_test *test, struct
>evt_options *opt,
> 					opt->prod_type ==
>
>	EVT_PROD_TYPE_EVENT_TIMER_ADPTR) {
> 					t->done = true;
>-					rte_smp_wmb();
> 					break;
> 				}
> 			}
>@@ -341,7 +338,6 @@ perf_launch_lcores(struct evt_test *test, struct
>evt_options *opt,
> 				rte_event_dev_dump(opt->dev_id,
>stdout);
> 				evt_err("No schedules for seconds,
>deadlock");
> 				t->done = true;
>-				rte_smp_wmb();
> 				break;
> 			}
> 			dead_lock_remaining = remaining;
>--
>2.25.1



More information about the dev mailing list