Re: [PATCH v1 0/4] Pipe mode header dumping and minor space saving

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 06, 2025 at 11:12:34PM -0700, Ian Rogers wrote:
> Pipe mode has no header and emits the data as if it were events. The
> dumping of features was controlled by the --header/-I options which
> makes little sense when they are events, normally traced when
> dump_trace is true. Switch to making pipe feature events also be
> traced with detail when other events are.

I'm not sure I'm following.  Are you saying the pipe mode doesn't
support features with --header/-I option?

It seems to work for me.

  $ git show
  commit be59dba332e1e8edd3e88d991ba0e4795ae2bcb2 (HEAD -> perf-testing)
  Author: Ian Rogers <irogers@xxxxxxxxxx>
  Date:   Tue Jun 17 15:33:56 2025 -0700
  
      libperf evsel: Add missed puts and asserts
      
      A missed evsel__close before evsel__delete was the source of leaking
      perf events due to a hybrid test. Add asserts in debug builds so that
      this shouldn't happen in the future. Add puts missing on the cpu map
      and thread maps.
      
      Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
      Link: https://lore.kernel.org/r/20250617223356.2752099-4-irogers@xxxxxxxxxx
      Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
  
  $ ./perf version
  perf version 6.16.rc3.gbe59dba332e1
  
  $ ./perf record -o- true | ./perf report -i- --header-only
  # ========
  # captured on    : Tue Jun 24 12:06:38 2025
  # header version : 1
  # data offset    : 0
  # data size      : 0
  # feat offset    : 0
  # ========
  #
  # hostname : bangji
  # os release : 6.12.20-1rodete1-amd64
  # perf version : 6.16.rc3.gbe59dba332e1
  # arch : x86_64
  # nrcpus online : 4
  # nrcpus avail : 8
  # cpudesc : 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
  # cpuid : GenuineIntel,6,140,1
  # total memory : 32566540 kB
  # cmdline : /home/namhyung/project/linux/tools/perf/perf record -o- true 
  # event : name = cycles:P, , id = { 369, 370, 371, 372 }, type = 0 (PERF_TYPE_HARDWARE), ...
  # CPU_TOPOLOGY info available, use -I to display
  # NUMA_TOPOLOGY info available, use -I to display
  # pmu mappings: cpu = 4, breakpoint = 5, cstate_core = 22, cstate_pkg = 23, hwmon_acpitz = 4294901760, ...
  # time of first sample : 0.000000
  # time of last sample : 0.000000
  # sample duration :      0.000 ms
  # MEM_TOPOLOGY info available, use -I to display
  # cpu pmu capabilities: branches=32, max_precise=3, pmu_name=icelake
  # intel_pt pmu capabilities: topa_multiple_entries=1, psb_cyc=1, single_range_output=1, ...
  
> 
> The attr event in pipe mode had no dumping, wire this up and use the
> existing perf_event_attr fprintf support.
> 
> The header's bpf_prog_info or bpf_btf may be empty when written. If
> they are empty just skip writing them to save space.

These look good to me.

Thanks,
Namhyung

> 
> Ian Rogers (4):
>   perf header: In pipe mode dump features without --header/-I
>   perf header: Allow tracing of attr events
>   perf header: Display message if BPF/BTF info is empty
>   perf header: Don't write empty BPF/BTF info
> 
>  tools/perf/util/header.c | 46 ++++++++++++++++++++++++++--------------
>  tools/perf/util/header.h |  1 +
>  2 files changed, 31 insertions(+), 16 deletions(-)
> 
> -- 
> 2.50.0.rc0.604.gd4ff7b7c86-goog
> 




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux