On Sat,  7 Jan 2017 14:28:42 +0900
Masami Hiramatsu <mhira...@kernel.org> wrote:

> Find probe events without -m "module" option. If perf-probe
> failed to find given function in kernel image, it tries to
> find same symbol and module in kallsyms, and retry search
> in the found module. E.g.
> 
>   # perf probe -D i915_capabilities
>   p:probe/i915_capabilities i915:i915_capabilities+0
> 
> Note: without -m option, perf probe can not find inlined
> function since there is no symbol information in kallsyms.
> 
> Signed-off-by: Masami Hiramatsu <mhira...@kernel.org>
> Suggested-by: Arnaldo Carvalho de Melo <a...@redhat.com>
> ---
>  tools/perf/util/probe-event.c |   74 
> ++++++++++++++++++++++++++++++-----------
>  1 file changed, 55 insertions(+), 19 deletions(-)
> 
> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> index 6a6f44d..09bd093 100644
> --- a/tools/perf/util/probe-event.c
> +++ b/tools/perf/util/probe-event.c
> @@ -858,11 +858,7 @@ static int try_to_find_probe_trace_events(struct 
> perf_probe_event *pev,
>  
>       debuginfo__delete(dinfo);
>  
> -     if (ntevs == 0) {       /* No error but failed to find probe point. */
> -             pr_warning("Probe point '%s' not found.\n",
> -                        synthesize_perf_probe_point(&pev->point));
> -             return -ENOENT;
> -     } else if (ntevs < 0) {
> +     if (ntevs < 0) {
>               /* Error path : ntevs < 0 */
>               pr_debug("An error occurred in debuginfo analysis (%d).\n", 
> ntevs);
>               if (ntevs == -EBADF)
> @@ -2073,8 +2069,10 @@ static int find_perf_probe_point_from_map(struct 
> probe_trace_point *tp,
>       } else {
>               if (tp->symbol && !addr) {
>                       if (kernel_get_symbol_address_by_name(tp->symbol,
> -                                             &addr, true, false) < 0)
> +                                             &addr, true, false) < 0) {
> +                             ret = 0;
>                               goto out;

Oops, I've found that this is not needed and breaks --list result.
I'll update it.

Thanks.


-- 
Masami Hiramatsu <mhira...@kernel.org>

Reply via email to