[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150723141133.4065321e@gandalf.local.home>
Date: Thu, 23 Jul 2015 14:11:33 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: David Ahern <dsahern@...il.com>,
Adrian Hunter <adrian.hunter@...el.com>,
Borislav Petkov <bp@...e.de>,
Frederic Weisbecker <fweisbec@...il.com>,
Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Stephane Eranian <eranian@...gle.com>,
Ingo Molnar <mingo@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH] tools lib traceevent: Allow setting an alternative
symbol resolver
On Thu, 23 Jul 2015 14:10:39 -0400
Steven Rostedt <rostedt@...dmis.org> wrote:
> On Thu, 23 Jul 2015 14:25:54 -0300
> Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
>
> > diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
> > index cc25f059ab3d..2750e7e7efff 100644
> > --- a/tools/lib/traceevent/event-parse.c
> > +++ b/tools/lib/traceevent/event-parse.c
> > @@ -418,7 +418,7 @@ static int func_map_init(struct pevent *pevent)
> > }
> >
> > static struct func_map *
> > -find_func(struct pevent *pevent, unsigned long long addr)
> > +__find_func(struct pevent *pevent, unsigned long long addr)
> > {
> > struct func_map *func;
> > struct func_map key;
> > @@ -434,6 +434,51 @@ find_func(struct pevent *pevent, unsigned long long addr)
> > return func;
> > }
> >
> > +static struct {
> > + pevent_function_resolver_t *function;
> > + void *priv;
> > +} function_resolver;
> > +
> > +/**
> > + * pevent_set_function_resolver - set an alternative function resolver
> > + * @resolver - function to be used
> > + * @priv - resolver function private state.
> > + *
> > + * Some tools may have already a way to resolve kernel functions, allow them
> > + * to keep using it instead of duplicating all the entries inside pevent->funclist.
> > + */
> > +void pevent_set_function_resolver(pevent_function_resolver_t *resolver, void *priv)
> > +{
> > + function_resolver.function = resolver;
> > + function_resolver.priv = priv;
>
> What about passing in pevent, and making the allocation here?
In fact, we could remove the global function_resolver, and allocate
that here too.
-- Steve
>
> -- Steve
>
> > +}
> > +
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists