All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/4] perf report/annotate: Support average IPC and IPC coverage for function
@ 2018-11-30 13:54 Jin Yao
  2018-11-30 13:54 ` [PATCH v5 1/4] perf annotate: Compute average IPC and IPC coverage per symbol Jin Yao
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Jin Yao @ 2018-11-30 13:54 UTC (permalink / raw)
  To: acme, jolsa, peterz, mingo, alexander.shishkin
  Cc: Linux-kernel, ak, kan.liang, yao.jin, Jin Yao

Add supporting of displaying the average IPC and IPC coverage
percentage per function.

For example,

$ perf record -b ...
$ perf report -s symbol or
  perf report -s symbol --stdio

Overhead  Symbol                           IPC   [IPC Coverage]
  39.60%  [.] __random                     2.30  [ 54.8%]
  18.02%  [.] main                         0.43  [ 54.3%]
  14.21%  [.] compute_flag                 2.29  [100.0%]
  14.16%  [.] rand                         0.36  [100.0%]
   7.06%  [.] __random_r                   2.57  [ 70.5%]
   6.85%  [.] rand@plt                     0.00  [  0.0%]
  ...

$ perf annotate --stdio2

Percent  IPC Cycle (Average IPC: 2.30, IPC Coverage: 54.8%)

                        Disassembly of section .text:

                        000000000003aac0 <random@@GLIBC_2.2.5>:
  8.32  3.28              sub    $0x18,%rsp
        3.28              mov    $0x1,%esi
        3.28              xor    %eax,%eax
        3.28              cmpl   $0x0,argp_program_version_hook@@GLIBC_2.2.5+0x1e0
 11.57  3.28     1      ↓ je     20
                          lock   cmpxchg %esi,__abort_msg@@GLIBC_PRIVATE+0x8a0
                        ↓ jne    29
                        ↓ jmp    43
 11.57  1.10        20:   cmpxchg %esi,__abort_msg@@GLIBC_PRIVATE+0x8a0
 ...

v5:
---
    Update documentation according to Ingo's comments.

    Only the patch "perf report: Documentation average IPC and
    IPC coverage" is changed. Others are not changed.

v4:
---
    Add a new patch "perf report: Documentation average IPC and IPC coverage"
    to explain the new columns "IPC" and "IPC Coverage".

    Other patches are not changed.

v3:
---
    Remove the sortkey "ipc" from command-line. The columns "IPC"
    and "[IPC Coverage]" are automatically enabled when "symbol"
    is specified.

    Patch "perf report: Display average IPC and IPC coverage per symbol"
    is impacted.

v2:
---
  1. Merge in Jiri's patch to support stdio mode

  2. Add a new patch "perf annotate: Create a annotate2 flag
     in struct symbol" which records if the symbol has been
     annotated yet.

  3. Minor update such as adding { } for multiline code in 'if'
     condition.

Jin Yao (4):
  perf annotate: Compute average IPC and IPC coverage per symbol
  perf annotate: Create a annotate2 flag in struct symbol
  perf report: Display average IPC and IPC coverage per symbol
  perf report: Documentation average IPC and IPC coverage

 tools/perf/Documentation/perf-report.txt |  8 +++++
 tools/perf/builtin-report.c              | 26 ++++++++++++--
 tools/perf/util/annotate.c               | 42 ++++++++++++++++++++--
 tools/perf/util/annotate.h               |  5 +++
 tools/perf/util/hist.h                   |  1 +
 tools/perf/util/sort.c                   | 61 ++++++++++++++++++++++++++++++++
 tools/perf/util/sort.h                   |  2 ++
 tools/perf/util/symbol.h                 |  1 +
 8 files changed, 140 insertions(+), 6 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-12-18 14:01 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-30 13:54 [PATCH v5 0/4] perf report/annotate: Support average IPC and IPC coverage for function Jin Yao
2018-11-30 13:54 ` [PATCH v5 1/4] perf annotate: Compute average IPC and IPC coverage per symbol Jin Yao
2018-12-14 20:31   ` [tip:perf/core] " tip-bot for Jin Yao
2018-12-18 13:58   ` tip-bot for Jin Yao
2018-11-30 13:54 ` [PATCH v5 2/4] perf annotate: Create a annotate2 flag in struct symbol Jin Yao
2018-12-14 20:32   ` [tip:perf/core] " tip-bot for Jin Yao
2018-12-18 13:59   ` tip-bot for Jin Yao
2018-11-30 13:54 ` [PATCH v5 3/4] perf report: Display average IPC and IPC coverage per symbol Jin Yao
2018-12-14 20:33   ` [tip:perf/core] " tip-bot for Jin Yao
2018-12-18 14:00   ` tip-bot for Jin Yao
2018-11-30 13:54 ` [PATCH v5 4/4] perf report: Documentation average IPC and IPC coverage Jin Yao
2018-12-14 20:33   ` [tip:perf/core] " tip-bot for Jin Yao
2018-12-18 14:00   ` tip-bot for Jin Yao
2018-11-30 19:25 ` [PATCH v5 0/4] perf report/annotate: Support average IPC and IPC coverage for function Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.