2014-10-06 09:07:32

by Robert Richter

[permalink] [raw]
Subject: Re: perf & rasd integration plan

On 30.09.14 10:24:16, Arnaldo Carvalho de Melo wrote:
> Em Tue, Sep 30, 2014 at 11:06:21AM +0200, Jean Pihet escreveu:
> > The plan is to move the small and generic functions first: util,
> > xyarray, cpumap, thread_map etc; then evlist, evsel, trace-event,
> > trace-event-parse; and finally integrate rasd into the tools/ dir.
> >
> > Any thought? Can evlist, evsel etc. be moved at once?
> >
> > Patches should come soon, when time allows.
>
> Why don't you add it to tools/rasd/ and in tools/rasd/Makefile you just
> go on and add tools/perf/util/evlist.o et all to be linked directly, as
> a first step.
>
> Then, as a second step, we can create a tools/lib/perf/evlist.c having
> what is currently used by both tools/perf/ and tools/rasd/, i.e. what is
> proven to be useful for something other than perf.

It would be good to have tools/lib/perf or so with some base
implementation to setup and connect to perf buffers. This is useful
for tools not only in tools/. The rasd would be a good reference for
this regardless if it is in tools/ or not. I am not sure whether and
when rasd will be moved there.

> As the need arises, we go on moving things into tools/lib/perf/evlist.c
> et all from wherever it appeared first, be it from tools/rasd/,
> tools/perf/util/evlist.c or anywhere else.
>
> Initial rule being that once it is used by multiple tools living in
> tools/, then it deserves a place in tools/lib/perf/.

So this wouldn't quite work well as it excludes tools not in tools/.

-Robert

>
> Ditto for other stuff currently living in tools/perf/util/.


2014-10-06 13:44:18

by Jean Pihet

[permalink] [raw]
Subject: Re: perf & rasd integration plan

Hi,

On 6 October 2014 11:07, Robert Richter <[email protected]> wrote:
> On 30.09.14 10:24:16, Arnaldo Carvalho de Melo wrote:
>> Em Tue, Sep 30, 2014 at 11:06:21AM +0200, Jean Pihet escreveu:
>> > The plan is to move the small and generic functions first: util,
>> > xyarray, cpumap, thread_map etc; then evlist, evsel, trace-event,
>> > trace-event-parse; and finally integrate rasd into the tools/ dir.
>> >
>> > Any thought? Can evlist, evsel etc. be moved at once?
>> >
>> > Patches should come soon, when time allows.
>>
>> Why don't you add it to tools/rasd/ and in tools/rasd/Makefile you just
>> go on and add tools/perf/util/evlist.o et all to be linked directly, as
>> a first step.
>>
>> Then, as a second step, we can create a tools/lib/perf/evlist.c having
>> what is currently used by both tools/perf/ and tools/rasd/, i.e. what is
>> proven to be useful for something other than perf.
>
> It would be good to have tools/lib/perf or so with some base
> implementation to setup and connect to perf buffers. This is useful
> for tools not only in tools/. The rasd would be a good reference for
> this regardless if it is in tools/ or not. I am not sure whether and
> when rasd will be moved there.

Agree. Having a lib (or a set of libs) that external tools can use is
a must. This will encourage tools developers to use this API instead
of re-invening the wheel every time, and to provide standard tools
that can be merged in the kernel source if needed.

>
>> As the need arises, we go on moving things into tools/lib/perf/evlist.c
>> et all from wherever it appeared first, be it from tools/rasd/,
>> tools/perf/util/evlist.c or anywhere else.
>>
>> Initial rule being that once it is used by multiple tools living in
>> tools/, then it deserves a place in tools/lib/perf/.
>
> So this wouldn't quite work well as it excludes tools not in tools/.
Ditto

I am willing to propose a first set of patches to factor out the
common code from perf, but an agreement is needed on the direction to
take.
My plan is to provide patches for the proposed integration plan (as in
the initial e-mail), is it worth doing so or is it purely wasted time
and effort?

What do you think?

Thx,
Jean

>
> -Robert
>
>>
>> Ditto for other stuff currently living in tools/perf/util/.

2014-10-06 14:59:02

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: perf & rasd integration plan

Em Mon, Oct 06, 2014 at 11:07:26AM +0200, Robert Richter escreveu:
> On 30.09.14 10:24:16, Arnaldo Carvalho de Melo wrote:
> > Em Tue, Sep 30, 2014 at 11:06:21AM +0200, Jean Pihet escreveu:
> > > The plan is to move the small and generic functions first: util,
> > > xyarray, cpumap, thread_map etc; then evlist, evsel, trace-event,
> > > trace-event-parse; and finally integrate rasd into the tools/ dir.

> > > Any thought? Can evlist, evsel etc. be moved at once?

> > > Patches should come soon, when time allows.

> > Why don't you add it to tools/rasd/ and in tools/rasd/Makefile you just
> > go on and add tools/perf/util/evlist.o et all to be linked directly, as
> > a first step.

> > Then, as a second step, we can create a tools/lib/perf/evlist.c having
> > what is currently used by both tools/perf/ and tools/rasd/, i.e. what is
> > proven to be useful for something other than perf.

> It would be good to have tools/lib/perf or so with some base
> implementation to setup and connect to perf buffers. This is useful
> for tools not only in tools/. The rasd would be a good reference for

Agreed, we can use rasd as a reference, I'm now looking for the git repo
url to see what it is using to prototype how I think this should be
done.

- Arnaldo

> this regardless if it is in tools/ or not. I am not sure whether and
> when rasd will be moved there.

- Arnaldo

2014-10-06 15:01:54

by Borislav Petkov

[permalink] [raw]
Subject: Re: perf & rasd integration plan

On Mon, Oct 06, 2014 at 11:58:56AM -0300, Arnaldo Carvalho de Melo wrote:
> Agreed, we can use rasd as a reference, I'm now looking for the git repo
> url to see what it is using to prototype how I think this should be
> done.

https://git.kernel.org/cgit/utils/ras/rasd.git

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

2014-10-06 15:02:33

by Jean Pihet

[permalink] [raw]
Subject: Re: perf & rasd integration plan

Hi Arnaldo,

On 6 October 2014 16:58, Arnaldo Carvalho de Melo <[email protected]> wrote:
> Em Mon, Oct 06, 2014 at 11:07:26AM +0200, Robert Richter escreveu:
>> On 30.09.14 10:24:16, Arnaldo Carvalho de Melo wrote:
>> > Em Tue, Sep 30, 2014 at 11:06:21AM +0200, Jean Pihet escreveu:
>> > > The plan is to move the small and generic functions first: util,
>> > > xyarray, cpumap, thread_map etc; then evlist, evsel, trace-event,
>> > > trace-event-parse; and finally integrate rasd into the tools/ dir.
>
>> > > Any thought? Can evlist, evsel etc. be moved at once?
>
>> > > Patches should come soon, when time allows.
>
>> > Why don't you add it to tools/rasd/ and in tools/rasd/Makefile you just
>> > go on and add tools/perf/util/evlist.o et all to be linked directly, as
>> > a first step.
>
>> > Then, as a second step, we can create a tools/lib/perf/evlist.c having
>> > what is currently used by both tools/perf/ and tools/rasd/, i.e. what is
>> > proven to be useful for something other than perf.
>
>> It would be good to have tools/lib/perf or so with some base
>> implementation to setup and connect to perf buffers. This is useful
>> for tools not only in tools/. The rasd would be a good reference for
>
> Agreed, we can use rasd as a reference, I'm now looking for the git repo
> url to see what it is using to prototype how I think this should be
> done.
The latest patches have been submitted to linux-edac [1] and also are
available in the dev git tree [2].
[1] http://marc.info/?l=linux-edac&m=141234802311271&w=2
[2] https://git.linaro.org/people/jean.pihet/rasd.git

Thx,
Jean

>
> - Arnaldo
>
>> this regardless if it is in tools/ or not. I am not sure whether and
>> when rasd will be moved there.
>
> - Arnaldo

2014-10-06 15:08:45

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: perf & rasd integration plan

Em Mon, Oct 06, 2014 at 05:01:47PM +0200, Borislav Petkov escreveu:
> On Mon, Oct 06, 2014 at 11:58:56AM -0300, Arnaldo Carvalho de Melo wrote:
> > Agreed, we can use rasd as a reference, I'm now looking for the git repo
> > url to see what it is using to prototype how I think this should be
> > done.
>
> https://git.kernel.org/cgit/utils/ras/rasd.git

I got Jean's "development" repo, should I get the g.k.o one?

- Arnaldo

2014-10-06 15:17:05

by Borislav Petkov

[permalink] [raw]
Subject: Re: perf & rasd integration plan

On Mon, Oct 06, 2014 at 12:08:38PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Mon, Oct 06, 2014 at 05:01:47PM +0200, Borislav Petkov escreveu:
> > On Mon, Oct 06, 2014 at 11:58:56AM -0300, Arnaldo Carvalho de Melo wrote:
> > > Agreed, we can use rasd as a reference, I'm now looking for the git repo
> > > url to see what it is using to prototype how I think this should be
> > > done.
> >
> > https://git.kernel.org/cgit/utils/ras/rasd.git
>
> I got Jean's "development" repo, should I get the g.k.o one?

Right, this one above is the official rasd one and Jean's stuff goes
ontop. So you can look at both. :-)

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--