Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758555Ab3DXMnT (ORCPT ); Wed, 24 Apr 2013 08:43:19 -0400 Received: from mx1.redhat.com ([209.132.183.28]:30895 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753958Ab3DXMnS (ORCPT ); Wed, 24 Apr 2013 08:43:18 -0400 Date: Wed, 24 Apr 2013 14:42:57 +0200 From: Jiri Olsa To: Namhyung Kim Cc: Arnaldo Carvalho de Melo , Peter Zijlstra , Paul Mackerras , Ingo Molnar , Namhyung Kim , LKML , Steven Rostedt , Frederic Weisbecker , David Ahern , Stephane Eranian Subject: Re: [PATCH 02/14] perf util: Use evsel->name to get tracepoint_paths Message-ID: <20130424124257.GE971@krava.brq.redhat.com> References: <1366705872-12132-1-git-send-email-namhyung@kernel.org> <1366705872-12132-3-git-send-email-namhyung@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1366705872-12132-3-git-send-email-namhyung@kernel.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1943 Lines: 64 On Tue, Apr 23, 2013 at 05:31:00PM +0900, Namhyung Kim wrote: > From: Namhyung Kim > > 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 > Cc: Frederic Weisbecker > Signed-off-by: Namhyung Kim > --- > 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/