Skip to content
  • Jiri Olsa's avatar
    perf tools: Check wether the eBPF file exists in event parsing · 29479bfe
    Jiri Olsa authored
    
    
    Adding the check wether the eBPF file exists, to consider it
    as eBPF input file. This way we can differentiate eBPF events
    from events that end up with same suffix as eBPF file.
    
    Before:
    
      $ perf stat -e 'cpu/uops_executed.core/'  true
      bpf: builtin compilation failed: -95, try external compiler
      WARNING:        unable to get correct kernel building directory.
      Hint:   Set correct kbuild directory using 'kbuild-dir' option in [llvm]
              section of ~/.perfconfig or set it to "" to suppress kbuild
              detection.
    
      event syntax error: 'cpu/uops_executed.core/'
                           \___ Failed to load cpu/uops_executed.c from source: 'version' section incorrect or lost
    
    After:
    
      $ perf stat -e 'cpu/uops_executed.core/'  true
    
       Performance counter stats for 'true':
    
                 181,533      cpu/uops_executed.core/:u
    
             0.002795447 seconds time elapsed
    
    If user makes type in the eBPF file, we prioritize the event syntax
    and show following warning:
    
      $ perf stat -e 'krava.c//'  true
      event syntax error: 'krava.c//'
                           \___ Cannot find PMU `krava.c'. Missing kernel support?
    
    Reported-and-Tested-by: default avatarAndi Kleen <ak@linux.intel.com>
    Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Changbin Du <changbin.du@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jin Yao <yao.jin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/r/20171013083736.15037-9-jolsa@kernel.org
    
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    29479bfe