perf probe: Warn unmatched function filter correctly
authorMasami Hiramatsu <mhiramat@kernel.org>
Mon, 18 Jul 2016 16:12:41 +0000 (01:12 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 18 Jul 2016 22:46:34 +0000 (19:46 -0300)
commite70493429bb1acaad829caae01c61dd7056fe671
treedf9148b84c01f2ab1a24cfa4c1534368b316febd
parent9a6c582d57a0fc37fa4e13a69d9129fb3d98a401
perf probe: Warn unmatched function filter correctly

Warn unmatched function filter correctly instead of warning
"symbol-loading error", since that can be a filter issue.

From the technical point of view, this adds a filter chech in map__load
and if there is a filter, it returns -2 (filter-out), instead of -1
(error), and perf-probe checks it and change message.

E.g. without this fix:

  # perf probe -F rt_sp*
  no symbols found in [kernel.kallsyms], maybe install a debug package?
  Failed to load symbols in kernel

With this fix:

  # perf probe -F rt_sp*
  no symbols passed the given filter.
  Failed to find symbols matched to "rt_sp*"
    Error: Failed to show functions.

Reported-and-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/146885835596.16106.2293540792775552481.stgit@devbox
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/map.c
tools/perf/util/probe-event.c