Messages in this thread |  | | From | Namhyung Kim <> | Subject | [PATCHSET v2 0/7] perf inject: Speed build-id injection | Date | Wed, 23 Sep 2020 17:05:30 +0900 |
| |
Hello,
This is my second attempt to speed up build-id injection. As this is to improve performance, I've added a benchmark for it. Please look at the usage in the first commit.
By default, it measures average processing time of 100 MMAP2 events and 10000 SAMPLE events. Below is the current result on my laptop.
$ perf bench internals inject-build-id # Running 'internals/inject-build-id' benchmark: Average build-id injection took: 22.997 msec (+- 0.067 msec) Average time per event: 2.255 usec (+- 0.007 usec)
With this patchset applied, it got this:
$ perf bench internals inject-build-id # Running 'internals/inject-build-id' benchmark: Average build-id injection took: 18.441 msec (+- 0.106 msec) Average time per event: 1.808 usec (+- 0.010 usec) Average build-id-all injection took: 13.451 msec (+- 0.132 msec) Average time per event: 1.319 usec (+- 0.013 usec)
Real usecases might be different as it depends on the number of mmap/sample events as well as how many DSOs are actually hit.
Also please take a look at the last patch which I removed the old build-id inject logic which seems not used anymore.
This code is available at 'perf/inject-speedup-v2' branch on
git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
Thanks Namhyung
Namhyung Kim (7): perf bench: Add build-id injection benchmark perf inject: Add missing callbacks in perf_tool perf inject: Enter namespace when reading build-id perf inject: Do not load map/dso when injecting build-id perf inject: Add --buildid-all option perf bench: Run inject-build-id with --buildid-all option too perf inject: Remove stale build-id processing
tools/perf/Documentation/perf-inject.txt | 6 +- tools/perf/bench/Build | 1 + tools/perf/bench/bench.h | 1 + tools/perf/bench/inject-buildid.c | 432 +++++++++++++++++++++++ tools/perf/builtin-bench.c | 1 + tools/perf/builtin-inject.c | 207 ++++++++--- tools/perf/util/build-id.h | 4 + tools/perf/util/map.c | 17 +- tools/perf/util/map.h | 14 + 9 files changed, 617 insertions(+), 66 deletions(-) create mode 100644 tools/perf/bench/inject-buildid.c
-- 2.28.0.681.g6f77f65b4e-goog
|  |