]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
perf report: Allow hierarchy mode for --children
authorNamhyung Kim <namhyung@kernel.org>
Fri, 7 Mar 2025 08:08:28 +0000 (00:08 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 20 Mar 2025 16:17:56 +0000 (09:17 -0700)
It was prohibited because the output fields in the children mode were
not handled properly with hierarchy.  But we can have the output fields
in the same level, it can allow them together.

For example, latency mode adds more output fields by default and now
they are displayed properly.

  $ perf record --latency -g -- perf test -w thloop

  $ perf report -H --stdio
  # To display the perf.data header info, please use --header/--header-only options.
  #
  #
  # Total Lost Samples: 0
  #
  # Samples: 2K of event 'cycles:Pu'
  # Event count (approx.): 8266456478
  #
  #       Children  Latency  Overhead   Latency  Command / Shared Object / Symbol
  # ...........................................  ........................................................
  #
       0.08%    0.16%   100.00%   100.00%        perf
          0.08%    0.16%     0.24%     0.47%        ld-linux-x86-64.so.2
             0.12%    0.24%     0.12%     0.24%        [.] _dl_relocate_object
             0.08%    0.16%     0.08%     0.16%        [.] _dl_lookup_symbol_x
             0.03%    0.06%     0.03%     0.06%        [.] strcmp
             0.00%    0.01%     0.00%     0.01%        [.] _dl_start
             0.00%    0.00%     0.00%     0.00%        [.] _dl_start_user
             0.00%    0.00%     0.00%     0.00%        [.] _dl_sysdep_start
             0.00%    0.00%     0.00%     0.00%        [.] _start
             0.00%    0.00%     0.00%     0.00%        [.] dl_main
          0.03%    0.06%     0.03%     0.06%        libLLVM-16.so.1
             0.03%    0.06%     0.03%     0.06%        [.] llvm::StringMapImpl::RehashTable(unsigned int)
             0.00%    0.00%     0.00%     0.00%        [.] 0x00007f137ccd18e8
          0.00%    0.00%    99.66%    99.31%        perf
            99.66%   99.31%    99.66%    99.31%        [.] test_loop
              |
              |--49.86%--0x7f137b633d68
              |          0x55dbdbbb7d2c
              ...

Link: https://lore.kernel.org/r/20250307080829.354947-2-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/builtin-report.c

index c1226da6c610258f1703390cbe3fa0fcca597284..fc776e9d7fdfa273cfa6b7dd6d6eaca750750ed6 100644 (file)
@@ -1673,8 +1673,6 @@ repeat:
 
        if (symbol_conf.report_hierarchy) {
                /* disable incompatible options */
-               symbol_conf.cumulate_callchain = false;
-
                if (field_order) {
                        pr_err("Error: --hierarchy and --fields options cannot be used together\n");
                        parse_options_usage(report_usage, options, "F", 1);