From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Jean Pihet <jean.pihet@linaro.org>
Cc: Borislav Petkov <bp@alien8.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Fu Wei <fu.wei@linaro.org>, Robert Richter <rric@kernel.org>,
Jiri Olsa <jolsa@redhat.com>, David Ahern <dsahern@gmail.com>,
Ingo Molnar <mingo@kernel.org>
Subject: Re: perf & rasd integration plan
Date: Tue, 30 Sep 2014 10:24:16 -0300 [thread overview]
Message-ID: <20140930132416.GB2799@kernel.org> (raw)
In-Reply-To: <CAFrcx1kufO2yj7--UiL841Yp5Es5=WqjL__Yzg=-+nPV5XoohA@mail.gmail.com>
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
>
> - trace-event: tools/perf/util/trace-event.[ch] and
> tools/perf/util/trace-event-parse.c
> . retrieve and parse events format (using event-parse),
> . print out events fields
>
> - event-parse: already in tools/lib/traceevent/event-parse.[ch]
> . retrieve and parse events format,
> . parse events format and print out events fields
>
> - trace-seq: already in tools/lib/traceevent/trace-seq.c
> . format output string for event fields
>
> - events plugins: already in tools/lib/traceevent/event-plugin.c
>
> - util: tools/perf/util/util.[ch]
> . files open/read,
> . manage events attributes,
> . various macros
>
> - test events attributes: tools/perf/tests/attr.c
> . test_attr__open()
>
> - thread: tools/perf/util/thread_map.[ch] and
> - cpu: tools/perf/util/cpumap.[ch]
> . init and manage process maps
>
> - xyarray: tools/perf/util/xyarray.[ch]
>
> - syscall: tools/perf/perf-sys.h
>
> - cgroup: tools/perf/util/cgroup.[ch]
>
> 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.
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/.
Ditto for other stuff currently living in tools/perf/util/.
- Arnaldo
next prev parent reply other threads:[~2014-09-30 13:24 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-30 9:06 Jean Pihet
2014-09-30 13:24 ` Arnaldo Carvalho de Melo [this message]
2014-10-05 17:48 ` Borislav Petkov
2014-10-05 18:24 ` Jiri Olsa
2014-10-05 18:45 ` Borislav Petkov
2014-10-05 19:24 ` Chuck Ebbert
2014-10-05 19:28 ` Jiri Olsa
2014-10-06 6:53 ` Jean Pihet
2014-10-08 6:59 ` Jiri Olsa
2014-10-06 9:07 ` Robert Richter
2014-10-06 13:44 ` Jean Pihet
2014-10-06 14:58 ` Arnaldo Carvalho de Melo
2014-10-06 15:01 ` Borislav Petkov
2014-10-06 15:08 ` Arnaldo Carvalho de Melo
2014-10-06 15:16 ` Borislav Petkov
2014-10-06 15:02 ` Jean Pihet
2014-10-06 15:07 ` Arnaldo Carvalho de Melo
2014-10-06 15:16 ` Borislav Petkov
2014-10-06 19:12 ` Arnaldo Carvalho de Melo
2014-10-06 19:53 ` Borislav Petkov
2014-10-06 21:22 ` Arnaldo Carvalho de Melo
2014-10-07 11:23 ` Borislav Petkov
2014-10-07 13:40 ` Arnaldo Carvalho de Melo
2014-10-07 13:49 ` Borislav Petkov
2014-10-07 13:55 ` Arnaldo Carvalho de Melo
2014-10-07 14:02 ` Borislav Petkov
2014-10-07 14:13 ` Arnaldo Carvalho de Melo
2014-10-06 21:26 ` [PATCH 1/1] rasd: Use perf_evlist__open() instead of open coded Arnaldo Carvalho de Melo
2014-10-07 8:45 ` Jean Pihet
2014-10-07 13:32 ` Arnaldo Carvalho de Melo
2014-10-07 14:04 ` Borislav Petkov
2014-10-07 14:17 ` Arnaldo Carvalho de Melo
2014-10-10 20:07 ` Arnaldo Carvalho de Melo
2014-10-10 20:28 ` Borislav Petkov
2014-10-10 20:41 ` Arnaldo Carvalho de Melo
2014-10-10 20:44 ` Borislav Petkov
2014-10-13 7:29 ` Jean Pihet
2014-10-14 13:56 ` Jiri Olsa
2014-10-14 14:02 ` Arnaldo Carvalho de Melo
2014-10-14 14:22 ` Jiri Olsa
2014-10-14 15:17 ` Borislav Petkov
2014-10-14 15:20 ` Jean Pihet
2014-10-14 14:19 ` David Ahern
2014-10-14 17:09 ` Arnaldo Carvalho de Melo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140930132416.GB2799@kernel.org \
--to=acme@kernel.org \
--cc=bp@alien8.de \
--cc=dsahern@gmail.com \
--cc=fu.wei@linaro.org \
--cc=jean.pihet@linaro.org \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=rric@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome