Thread (15 messages) 15 messages, 4 authors, 2020-03-03

Re: [PATCH v2 bpf-next 1/2] bpftool: introduce "prog profile" command

flat view

From: Song Liu <hidden>
Date: 2020-03-01 22:38:10
Also in: bpf

On Feb 29, 2020, at 8:14 PM, Yonghong Song [off-list ref] wrote:



On 2/28/20 3:40 PM, Song Liu wrote:
quoted
With fentry/fexit programs, it is possible to profile BPF program with
hardware counters. Introduce bpftool "prog profile", which measures key
metrics of a BPF program.
bpftool prog profile command creates per-cpu perf events. Then it attaches
fentry/fexit programs to the target BPF program. The fentry program saves
perf event value to a map. The fexit program reads the perf event again,
and calculates the difference, which is the instructions/cycles used by
the target program.
Example input and output:
  ./bpftool prog profile 3 id 337 cycles instructions llc_misses
        4228 run_cnt
     3403698 cycles                                              (84.08%)
     3525294 instructions   #  1.04 insn per cycle               (84.05%)
          13 llc_misses     #  3.69 LLC misses per million isns  (83.50%)
if run_cnt is 0, the following is the result:

-bash-4.4$ sudo ./bpftool prog profile 3 id 52 cycles instructions llc_misses

                0 run_cnt
                0 cycles 
                0 instructions        #     -nan insn per cycle 
                0 llc_misses          #     -nan LLC misses per million isns

-nan is a little bit crypto for user output. maybe just says
 unknown insns per cycle
in the comment?

We can still display "0 cycles" etc. just to make output uniform.
Good catch! Will fix this in next version. 

Song
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help