> -----Original Message----- > From: Harry van Haaren <harry.van.haa...@intel.com> > Sent: Thursday, May 7, 2020 1:17 AM > To: dev@dpdk.org > Cc: david.march...@redhat.com; Phil Yang <phil.y...@arm.com>; > Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>; Harry van Haaren > <harry.van.haa...@intel.com> > Subject: [PATCH v2] test/service: add perf test for service on app lcore > > This commit adds a basic test to check the cycle cost > of related to calling into a service. > > Signed-off-by: Harry van Haaren <harry.van.haa...@intel.com> > > --- > > v2: > - Add space at start of output (Phil Yang) > - Fix compile error on older GCCs (David Marchand) > > --- > app/test/test_service_cores.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/app/test/test_service_cores.c b/app/test/test_service_cores.c > index a922c7ddc..75a3f8b45 100644 > --- a/app/test/test_service_cores.c > +++ b/app/test/test_service_cores.c > @@ -789,8 +789,19 @@ service_app_lcore_poll_impl(const int mt_safe) > "MT Unsafe: App core1 didn't return - > EBUSY"); > } > > - unregister_all(); > + /* Performance test: call in a loop, and measure tsc() */ > + uint32_t i; > + const uint32_t perf_iters = (1 << 12); > + uint64_t start = rte_rdtsc(); > + for (i = 0; i < perf_iters; i++) { > + int err = service_run_on_app_core_func(&id); > + TEST_ASSERT_EQUAL(0, err, "perf test: returned run failure"); > + } > + uint64_t end = rte_rdtsc(); > + printf("\t\tperf test for %s: %0.1f cycles per call\n", mt_safe ?
This print will be printed before the function test result. Apologize for my previous comments. Please ignore it. A nitpick comment on formatting the output. - printf("\t\tperf test for %s: %0.1f cycles per call\n", mt_safe ? + printf("Perf test for %-10s: %0.1f cycles per call\n", mt_safe ? Tested-by: Phil Yang <phil.y...@arm.com> Reviewed-by: Phil Yang <phil.y...@arm.com> Thanks, Phil > + "MT Safe" : "MT Unsafe", (end - start)/(float)perf_iters); > > + unregister_all(); > return TEST_SUCCESS; > } > > -- > 2.17.1