On Tue, Apr 23, 2013 at 05:31:00PM +0900, Namhyung Kim wrote:
> From: Namhyung Kim <[email protected]>
> 
> Most tracepoint events already have their system and event name in
> ->name field so that searching whole event tracing directory for each
> evsel to match given id is suboptimal.
> 
> Cc: Jiri Olsa <[email protected]>
> Cc: Frederic Weisbecker <[email protected]>
> Signed-off-by: Namhyung Kim <[email protected]>
> ---
>  tools/perf/util/trace-event-info.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/tools/perf/util/trace-event-info.c 
> b/tools/perf/util/trace-event-info.c
> index ab18bf12d54a..dcfc1869c9af 100644
> --- a/tools/perf/util/trace-event-info.c
> +++ b/tools/perf/util/trace-event-info.c
> @@ -414,12 +414,31 @@ get_tracepoints_path(struct list_head *pattrs)
>               if (pos->attr.type != PERF_TYPE_TRACEPOINT)
>                       continue;
>               ++nr_tracepoints;
> +
> +             if (pos->name && strchr(pos->name, ':')) {
> +                     char *str = strchr(pos->name, ':');
> +
> +                     ppath->next = zalloc(sizeof(path));
> +                     if (!ppath->next)
> +                             goto error;
> +
> +                     ppath->next->system = strndup(pos->name, str - 
> pos->name);
> +                     ppath->next->name = strdup(str+1);
> +
> +                     if (!ppath->next->system || !ppath->next->name)
> +                             goto error;
> +
> +                     goto next;
> +             }

good idea, could you please move this ^^^ into function ?
something like 'tracepoint_name_to_path'

jirka

> +
>               ppath->next = tracepoint_id_to_path(pos->attr.config);
>               if (!ppath->next) {
> +error:
>                       pr_debug("No memory to alloc tracepoints list\n");
>                       put_tracepoints_path(&path);
>                       return NULL;
>               }
> +next:
>               ppath = ppath->next;
>       }
>  
> -- 
> 1.7.11.7
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to