[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