RE: Re: [RFC/PATCH 2/3] perf probe: Rename __event_package to probe_event_package

From: åæéå / HIRAMATUïMASAMI
Date: Fri Sep 04 2015 - 03:55:47 EST


> From: Namhyung Kim [mailto:namhyung@xxxxxxxxx] On Behalf Of Namhyung Kim
>
> On Fri, Sep 04, 2015 at 02:11:09AM +0000, åæéå / HIRAMATUïMASAMI wrote:
> > > From: Namhyung Kim [mailto:namhyung@xxxxxxxxx] On Behalf Of Namhyung Kim
> > >
> > > The struct __event_package can be accessed now from other than
> > > probe-event.c code. So rename it to more specific name.
> > >
> > > Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
> > > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > > ---
> > > tools/perf/util/probe-event.c | 18 ++++++------------
> > > tools/perf/util/probe-event.h | 10 ++++++++++
> > > 2 files changed, 16 insertions(+), 12 deletions(-)
> > >
> > > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> > > index 8eaa03428d72..eef39338bb2a 100644
> > > --- a/tools/perf/util/probe-event.c
> > > +++ b/tools/perf/util/probe-event.c
> > > @@ -2759,20 +2759,14 @@ static int convert_to_probe_trace_events(struct perf_probe_event *pev,
> > > return find_probe_trace_events_from_map(pev, tevs);
> > > }
> > >
> > > -struct __event_package {
> > > - struct perf_probe_event *pev;
> > > - struct probe_trace_event *tevs;
> > > - int ntevs;
> > > -};
> > > -
> > > -static int __add_perf_probe_events(struct perf_probe_event *pevs, int npevs,
> > > - struct __event_package **ppkgs)
> > > +int __add_perf_probe_events(struct perf_probe_event *pevs, int npevs,
> > > + struct probe_event_package **ppkgs)
> >
> > OK, since now we have probe_event_package object, this function should be
> > refactored as pkgs = probe_event_packages__new(pevs, npevs)(allocate, initialize)
> > , probe_event_packages__convert(pkgs) and probe_event_packages__apply(pkgs).
>
> I think it'd be better using Wang Nan's patch below.
>
> https://lkml.org/lkml/2015/8/29/25

Ah, I see. It is certainly good way to solve :)

Thanks!

>
> I'll send v2 with this change.
>
> Thanks,
> Namhyung
>
>
> >
> > > {
> > > int i, ret;
> > > - struct __event_package *pkgs;
> > > + struct probe_event_package *pkgs;
> > >
> > > ret = 0;
> > > - pkgs = zalloc(sizeof(struct __event_package) * npevs);
> > > + pkgs = zalloc(sizeof(struct probe_event_package) * npevs);
> > >
> > > if (pkgs == NULL)
> > > return -ENOMEM;
> > > @@ -2813,7 +2807,7 @@ static int __add_perf_probe_events(struct perf_probe_event *pevs, int npevs,
> > > return 0;
> > > }
> > >
> > > -static void cleanup_perf_probe_events(struct __event_package *pkgs, int npevs)
> > > +void cleanup_perf_probe_events(struct probe_event_package *pkgs, int npevs)
> >
> > This also should be perf_event_pacakges__delete() :)
> >
> > Thanks!
> >
> > > {
> > > int i, j;
> > >
> > > @@ -2833,7 +2827,7 @@ static void cleanup_perf_probe_events(struct __event_package *pkgs, int npevs)
> > > int add_perf_probe_events(struct perf_probe_event *pevs, int npevs)
> > > {
> > > int ret;
> > > - struct __event_package *pkgs = NULL;
> > > + struct probe_event_package *pkgs = NULL;
> > >
> > > ret = __add_perf_probe_events(pevs, npevs, &pkgs);
> > > cleanup_perf_probe_events(pkgs, npevs);
> > > diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
> > > index 6e7ec68a4aa8..73f922fa7cac 100644
> > > --- a/tools/perf/util/probe-event.h
> > > +++ b/tools/perf/util/probe-event.h
> > > @@ -89,6 +89,12 @@ struct perf_probe_event {
> > > struct perf_probe_arg *args; /* Arguments */
> > > };
> > >
> > > +struct probe_event_package {
> > > + struct perf_probe_event *pev;
> > > + struct probe_trace_event *tevs;
> > > + int ntevs;
> > > +};
> > > +
> > > /* Line range */
> > > struct line_range {
> > > char *file; /* File name */
> > > @@ -138,6 +144,10 @@ extern void line_range__clear(struct line_range *lr);
> > > extern int line_range__init(struct line_range *lr);
> > >
> > > extern int add_perf_probe_events(struct perf_probe_event *pevs, int npevs);
> > > +extern int __add_perf_probe_events(struct perf_probe_event *pevs, int npevs,
> > > + struct probe_event_package **ppkgs);
> > > +extern void cleanup_perf_probe_events(struct probe_event_package *pkgs,
> > > + int npevs);
> > > extern int del_perf_probe_events(struct strfilter *filter);
> > > extern int show_perf_probe_events(struct strfilter *filter);
> > > extern int show_line_range(struct line_range *lr, const char *module,
> > > --
> > > 2.5.0
> >