[all-commits] [llvm/llvm-project] 5db75d: [BOLT] Filter itrace from perf script mmap & task ...
Jonathan Davies via All-commits
all-commits at lists.llvm.org
Fri Oct 20 01:00:18 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5db75d74a10d60d13536836089b8efacc98bc003
https://github.com/llvm/llvm-project/commit/5db75d74a10d60d13536836089b8efacc98bc003
Author: Jonathan Davies <jonathan.davies at arm.com>
Date: 2023-10-20 (Fri, 20 Oct 2023)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT] Filter itrace from perf script mmap & task events (#69585)
perf2bolt launches a few perf script commands and stores the output in
temporary files before processing the output and cleaning them up before
it exits.
The command `perf script --show-mmap-events` outputs PERF_RECORD_MMAP2
and instruction tracing data but when processed it only looks for
PERF_RECORD_MMAP2 and the instruction tracing data is ignored. This is
fine for small amounts of instruction trace data but when I've recorded
Arm ETM or Intel PT AUX I get lots of it
By adding `--no-itrace` is will just show the PERF_RECORD_MMAP2 records
and will save on time running the `perf script`, disk space storing the
output & time parsing the output.
It is the same for `perf script --show-task-events` where BOLT is only
interested in the PERF_RECORD_COMM & PERF_RECORD_FORK records.
### Data
| Perf Record | Perf Data Size | MMap Size | MMap No Itrace Size |
|---|---|---|---|
| perf record -e cs_etm/@tmc_etr0/u | 137K | 4468K | 0.632K |
| perf record -e intel_pt//u | 890K | 33378K | 0.673K |
More information about the All-commits
mailing list