• He Kuang's avatar
    perf record: Support custom vmlinux path · 7efe0e03
    He Kuang authored
    Make perf-record command support --vmlinux option if BPF_PROLOGUE is on.
    
    'perf record' needs vmlinux as the source of DWARF info to generate
    prologue for BPF programs, so path of vmlinux should be specified.
    
    Short name 'k' has been taken by 'clockid'. This patch skips the short
    option name and uses '--vmlinux' for vmlinux path.
    
    Documentation is also updated.
    
    Test result:
    
    In a production (or broken) environment:
     (by:
      # rm -rf ~/.debug/
      # mv /lib/modules/`uname -r`/build/vmlinux /tmp/
     )
    
     # ./perf record -e ./test_bpf_base.c ls
     Failed to find the path for kernel: No such file or directory
     event syntax error: './test_bpf_base.c'
                          \___ You need to check probing points in BPF file
     ...
    
     # ./perf record --vmlinux /tmp/vmlinux -e ./test_bpf_base.c ls
     ...
     [ perf record: Woken up 1 times to write data ]
     [ perf record: Captured and wrote 0.011 MB perf.data ]
    
    Help messages when build with NO_LIBBPF:
    
     # ./perf record -h
            --transaction     sample transaction flags (special events only)
            --vmlinux <file>  vmlinux pathname
                              (not built-in because NO_LIBBPF=1)
     # ./perf record --vmlinux /tmp/vmlinux ls /
      Warning: option `vmlinux' is being ignored because NO_LIBBPF=1
     ...
     [ perf record: Woken up 1 times to write data ]
     [ perf record: Captured and wrote 0.011 MB perf.data (11 samples) ]
    
    Help messages when build with NO_DWARF:
    
     # ./perf record -h
            --transaction     sample transaction flags (special events only)
            --vmlinux <file>  vmlinux pathname
                              (not built-in because NO_DWARF=1)
    Signed-off-by: default avatarHe Kuang <hekuang@huawei.com>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Cc: Zefan Li <lizefan@huawei.com>
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1450089563-122430-15-git-send-email-wangnan0@huawei.comSigned-off-by: default avatarWang Nan <wangnan0@huawei.com>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    7efe0e03
perf-record.txt 11.7 KB