Re: perf & rasd integration plan

Arnaldo Carvalho de Melo
2014-10-06T15:07:48Z

Em Tue, Sep 30, 2014 at 11:06:21AM +0200, Jean Pihet escreveu:
> The RAS Deamon (rasd) as available at [1] and the development version
> at [2], allows to enable kernel tracepoints and outputs the
> tracepoints fields according to the kernel format.
>
> [1] https://git.kernel.org/cgit/utils/ras/rasd.git/
> [2] https://git.linaro.org/people/jean.pihet/rasd.git
>
> rasd currently is a duplicate of the perf tool code, ultimately perf
> and rasd will use the same common code. The goal is to factor out the
> common code from perf and place it in small librairies in tools/lib.
>
> Here is the code that rasd currently uses and that should be moved to tools/lib:
>
> - debugfs: already in tools/lib/api/fs
> . mount and retrieve path
>
> - evlist: tools/perf/util/evlist.[ch]
> . create and init new evlist,
> . set cpu and thread maps,
> . add events to evlist,
> . init and use internal event id,
> . alloc and mmap events buffers, manage file descriptors,
> . enable events,
> . read events buffers, parse data,
> . unmap and free buffers
>
> - evsel: tools/perf/util/evsel.[ch]
> . create and init new tracepoints events,
> . init and use internal event id,
> . open events, manage fds,
> . close and free events

So, why have you commented out the perf_missing_features fallbacks? Are
they getting in the way somehow, what can we do upstream, i.e. in
tools/perf/util/ so that it gets closer to what you want to have?

Ditto for all the other ifdef'ed code, can you elaborate on why each is
needed? That will help in moving what is used by rasd from
tools/perf/util/ to tools/perf/lib/ so that we can eliminate the
duplicity.

- Arnaldo