• H
    perf record: Support custom vmlinux path · 7efe0e03
    He Kuang 提交于
    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: NHe 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: NWang Nan <wangnan0@huawei.com>
    Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    7efe0e03
perf-record.txt 11.7 KB