linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jean Pihet <jean.pihet@linaro.org>
To: Borislav Petkov <bp@alien8.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Fu Wei <fu.wei@linaro.org>, Robert Richter <rric@kernel.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Jiri Olsa <jolsa@redhat.com>, David Ahern <dsahern@gmail.com>,
	Ingo Molnar <mingo@kernel.org>
Subject: perf & rasd integration plan
Date: Tue, 30 Sep 2014 11:06:21 +0200	[thread overview]
Message-ID: <CAFrcx1kufO2yj7--UiL841Yp5Es5=WqjL__Yzg=-+nPV5XoohA@mail.gmail.com> (raw)

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.

Regards,
Jean

             reply	other threads:[~2014-09-30  9:06 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-30  9:06 Jean Pihet [this message]
2014-09-30 13:24 ` perf & rasd integration plan Arnaldo Carvalho de Melo
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='CAFrcx1kufO2yj7--UiL841Yp5Es5=WqjL__Yzg=-+nPV5XoohA@mail.gmail.com' \
    --to=jean.pihet@linaro.org \
    --cc=acme@kernel.org \
    --cc=bp@alien8.de \
    --cc=dsahern@gmail.com \
    --cc=fu.wei@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;
as well as URLs for NNTP newsgroup(s).