From: Mathieu Desnoyers Date: Wed, 31 Mar 2021 14:27:32 +0000 (-0400) Subject: tests: benchmark: improve benchmark scalability accuracy X-Git-Tag: v2.13.0-rc1~168 X-Git-Url: http://git.lttng.org./?a=commitdiff_plain;h=b670e9e80fd344432cb56e3c168b60103acd77d0;hp=b670e9e80fd344432cb56e3c168b60103acd77d0;p=lttng-ust.git tests: benchmark: improve benchmark scalability accuracy Testing with a fixed number of loops per-thread only works if the workload is distributed perfectly across CPUs. For instance, if a lock is held in the workload (e.g. internally by open() and close()), those may cause starvation of some threads, and therefore cause the benchmark to be wrong because it will wait for the slowest thread to complete its loops. It is also not good for testing overcommit of threads vs cpus. Change the test to report the number of loops performed in a given wall time, and use this to report the average and std.dev. of tracing overhead per event on each active CPU. Change the benchmark workload to be only CPU-bound and not generate system calls to minimize the inherent non-scalability of the workload (e.g. locks held within the kernel). Signed-off-by: Mathieu Desnoyers Change-Id: I5245f36831875bd9f87854618a4ed0cb31e56a4d ---