On 11/28/2018 5:10 PM, Ingo Molnar wrote:

* Jin Yao <yao....@linux.intel.com> wrote:

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

That's a nice feature: please add meaningful documentation, accessible
via the perf help system preferably, that outlines how the IPC metrics
should be interpreted and how they are useful when optimizing programs.

Thanks,

        Ingo


Hi Ingo,

Thanks so much for your comments! I think I will add some explanations in perf/Documentation/perf-report.txt, maybe somewhere around the sort_key section (-s::).

Thanks
Jin Yao

Reply via email to