• M
    perf probe: Verify given line is a representive line · 1ae5d88a
    Masami Hiramatsu 提交于
    Verify user given probe line is a representive line (which doesn't share
    the address with other lines or the line is the least line among the
    lines which shares same address), and if not, it shows what is the
    representive line.
    
    Without this fix, user can put a probe on the lines which is not a a
    representive line. But since this is not a representive line, perf probe
    -l shows a representive line number instead of user given line number.
    e.g. (put kernel_read:3, but listed as kernel_read:2)
    
      # perf probe -a kernel_read:3
      Added new event:
        probe:kernel_read    (on kernel_read:3)
    
      You can now use it in all perf tools, such as:
    
      	perf record -e probe:kernel_read -aR sleep 1
    
      # perf probe -l
        probe:kernel_read    (on kernel_read:2@linux-5.0.0/fs/read_write.c)
    
    With this fix, perf probe doesn't allow user to put a probe on a
    representive line, and tell what is the representive line.
    
      # perf probe -a kernel_read:3
      This line is sharing the addrees with other lines.
      Please try to probe at kernel_read:2 instead.
        Error: Failed to add events.
    Signed-off-by: NMasami Hiramatsu <mhiramat@kernel.org>
    Reported-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Tom Zanussi <tom.zanussi@linux.intel.com>
    Link: http://lore.kernel.org/lkml/157406472071.24476.14915451439785001021.stgit@devnote2Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    1ae5d88a
probe-finder.c 47.9 KB