[dpdk-dev] [PATCH v2] test/service: add perf test for service on app lcore
Phil Yang
Phil.Yang at arm.com
Thu May 7 08:28:48 CEST 2020
> -----Original Message-----
> From: Harry van Haaren <harry.van.haaren at intel.com>
> Sent: Thursday, May 7, 2020 1:17 AM
> To: dev at dpdk.org
> Cc: david.marchand at redhat.com; Phil Yang <Phil.Yang at arm.com>;
> Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com>; Harry van Haaren
> <harry.van.haaren at 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.haaren at 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.yang at arm.com>
Reviewed-by: Phil Yang <phil.yang at arm.com>
Thanks,
Phil
> + "MT Safe" : "MT Unsafe", (end - start)/(float)perf_iters);
>
> + unregister_all();
> return TEST_SUCCESS;
> }
>
> --
> 2.17.1
More information about the dev
mailing list