]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
perf record: Add --call-graph fp,defer option for deferred callchains
authorNamhyung Kim <namhyung@kernel.org>
Thu, 20 Nov 2025 23:48:01 +0000 (15:48 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 3 Dec 2025 05:59:13 +0000 (21:59 -0800)
commit27ddc1d7a6b79ae76f5c07af293fde966da8221b
tree9c7e1852bee936719a91c9ba30c94b602ff34820
parentf4e3381648be205365cb475512ee536e108e060e
perf record: Add --call-graph fp,defer option for deferred callchains

Add a new callchain record mode option for deferred callchains.  For now
it only works with FP (frame-pointer) mode.

And add the missing feature detection logic to clear the flag on old
kernels.

  $ perf record --call-graph fp,defer -vv true
  ...
  ------------------------------------------------------------
  perf_event_attr:
    type                             0 (PERF_TYPE_HARDWARE)
    size                             136
    config                           0 (PERF_COUNT_HW_CPU_CYCLES)
    { sample_period, sample_freq }   4000
    sample_type                      IP|TID|TIME|CALLCHAIN|PERIOD
    read_format                      ID|LOST
    disabled                         1
    inherit                          1
    mmap                             1
    comm                             1
    freq                             1
    enable_on_exec                   1
    task                             1
    sample_id_all                    1
    mmap2                            1
    comm_exec                        1
    ksymbol                          1
    bpf_event                        1
    defer_callchain                  1
    defer_output                     1
  ------------------------------------------------------------
  sys_perf_event_open: pid 162755  cpu 0  group_fd -1  flags 0x8
  sys_perf_event_open failed, error -22
  switching off deferred callchain support

Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/Documentation/perf-config.txt
tools/perf/Documentation/perf-record.txt
tools/perf/util/callchain.c
tools/perf/util/callchain.h
tools/perf/util/evsel.c
tools/perf/util/evsel.h