• Yonghong Song's avatar
    bpftool: Add {i,d}tlb_misses support for bpftool profile · 450d060e
    Yonghong Song authored
    Commit 47c09d6a("bpftool: Introduce "prog profile" command")
    introduced "bpftool prog profile" command which can be used
    to profile bpf program with metrics like # of instructions,
    
    This patch added support for itlb_misses and dtlb_misses.
    During an internal bpf program performance evaluation,
    I found these two metrics are also very useful. The following
    is an example output:
    
     $ bpftool prog profile id 324 duration 3 cycles itlb_misses
    
               1885029 run_cnt
            5134686073 cycles
                306893 itlb_misses
    
     $ bpftool prog profile id 324 duration 3 cycles dtlb_misses
    
               1827382 run_cnt
            4943593648 cycles
               5975636 dtlb_misses
    
     $ bpftool prog profile id 324 duration 3 cycles llc_misses
    
               1836527 run_cnt
            5019612972 cycles
               4161041 llc_misses
    
    From the above, we can see quite some dtlb misses, 3 dtlb misses
    perf prog run. This might be something worth further investigation.
    Signed-off-by: default avatarYonghong Song <yhs@fb.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Acked-by: default avatarSong Liu <songliubraving@fb.com>
    Link: https://lore.kernel.org/bpf/20201119073039.4060095-1-yhs@fb.com
    450d060e
prog.c 49.4 KB