From: David Ahern <dsahern@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Borislav Petkov <bp@alien8.de>,
Arjan van de Ven <arjan@infradead.org>
Subject: Re: [RFC][PATCH 0/8] Having perf use libparsevent.a
Date: Fri, 05 Aug 2011 18:07:12 -0600 [thread overview]
Message-ID: <4E3C85B0.7090905@gmail.com> (raw)
In-Reply-To: <20110805205921.909038487@goodmis.org>
On 08/05/2011 02:59 PM, Steven Rostedt wrote:
> Hi All,
>
> I've spent the week working on getting libparsevent.a working with
> perf. After several rewrites, hacking in both perf and the trace-cmd
> code, and breaking both beyond repair, I finally got to a point that
> it just works.
Does this version allow use of the trace-cmd plugins with perf?
Specifically, kvm tracing is not compatible with perf (perf barfs on the
kvm_exit traces); I suspect the plugins would fix that - as well as have
the pretty format for the exit reasons.
I want to try out the patch set, but will not have time until the week
of the kvm forum/linuxcon.
David
>
> The library was originally going to be called libperf.so, but after
> talking with Arnaldo, he wants the functionality of the libraries
> separated more, not combined all in one binary. As this code deals
> only with the parsing the event formats and creating a way to read
> the binary data from it, we both agreed that it is best to keep its
> original name that was in trace-cmd and call it libparsevent.so.
>
> Note, because perf installs in the user's ~/bin and I did not want to
> make it a requirement to add ~/bin to LD_LIBRARY_PATH, I kept the
> library as a .a that is linked directly into perf.
>
> In the beginning, I tried to work with the library code within the
> tools/perf directory, and because of the CFLAGS of perf, it made
> compiling the library code very nasty (namely the -Wswitch-enum).
> I also talked with Arnaldo and Frederic about the placement of this
> code, and we all agreed that tools/lib/events is a good place to
> put it.
>
> By keeping the code separate from perf, made the transition from
> trace-cmd to tools much easier. I've wasted too many days trying to
> get other ways working, and I don't want to rewrite perf to do so.
>
> Thus, this is what I ended up with.
>
> This patch set just gets the libparsevent.a/so working with perf.
> New code would be required to get it packaged for distributions to
> ship as a library itself. Once it gets there, I'll work on getting
> this code to work with code like latencytrace.
>
> Anyway, this is still in the RFC phase. Lets hear what people have to
> say.
>
> (some of the patches are quite large as they either insert full
> files or remove them, and probably will not make LKML due to the
> size constraint.)
>
> This patches can be viewed from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
> tip/perf/parse-events
>
> Head SHA1: 781d261ff8241243173cf996ceb068cb19bd5874
>
>
> Julia Lawall (1):
> perf/events: Correct size given to memset
>
> Steven Rostedt (6):
> perf: Separate out trace-cmd parse-events from perf files
> tools/events: Add files to create libparsevent.a
> perf: Build libparsevent.a
> events: Update tools/lib/events to work with perf
> perf: Have perf use the new libparsevent.a library
> perf/events: Add flag to produce nsec output
>
> Tom Zanussi (1):
> perf/events: Add flag/symbol format_flags
>
> ----
> tools/lib/events/Makefile | 303 ++
> tools/lib/events/event-parse.c | 4991 ++++++++++++++++++++
> tools/lib/events/event-parse.h | 804 ++++
> tools/lib/events/event-utils.h | 80 +
> tools/lib/events/parse-filter.c | 2262 +++++++++
> tools/lib/events/parse-utils.c | 110 +
> tools/lib/events/trace-seq.c | 200 +
> tools/perf/Makefile | 17 +-
> tools/perf/builtin-kmem.c | 6 +-
> tools/perf/builtin-lock.c | 26 +-
> tools/perf/builtin-sched.c | 42 +-
> tools/perf/builtin-script.c | 2 +-
> .../util/scripting-engines/trace-event-python.c | 16 +-
> tools/perf/util/trace-event-info.c | 4 +-
> tools/perf/util/trace-event-parse.c | 3188 +------------
> tools/perf/util/trace-event-read.c | 34 +-
> tools/perf/util/trace-event.h | 268 +-
> 17 files changed, 9070 insertions(+), 3283 deletions(-)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2011-08-06 0:30 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-05 20:59 [RFC][PATCH 0/8] Having perf use libparsevent.a Steven Rostedt
2011-08-05 20:59 ` [RFC][PATCH 1/8] perf: Separate out trace-cmd parse-events from perf files Steven Rostedt
2011-08-15 16:14 ` David Ahern
2011-08-15 16:22 ` Steven Rostedt
2011-08-17 0:08 ` David Ahern
2011-08-17 0:31 ` Steven Rostedt
2011-08-18 13:51 ` Frederic Weisbecker
2011-08-18 16:37 ` David Ahern
2011-08-18 16:59 ` Steven Rostedt
2011-08-05 20:59 ` [RFC][PATCH 2/8] tools/events: Add files to create libparsevent.a Steven Rostedt
2011-08-05 20:59 ` [RFC][PATCH 3/8] perf: Build libparsevent.a Steven Rostedt
2011-08-05 20:59 ` [RFC][PATCH 4/8] events: Update tools/lib/events to work with perf Steven Rostedt
2011-08-05 20:59 ` [RFC][PATCH 5/8] perf: Have perf use the new libparsevent.a library Steven Rostedt
2011-08-05 20:59 ` [RFC][PATCH 6/8] perf/events: Add flag to produce nsec output Steven Rostedt
2011-08-05 20:59 ` [RFC][PATCH 7/8] perf/events: Add flag/symbol format_flags Steven Rostedt
2011-08-05 20:59 ` [RFC][PATCH 8/8] perf/events: Correct size given to memset Steven Rostedt
2011-08-05 21:24 ` [RFC][PATCH 0/8] Having perf use libparsevent.a Ingo Molnar
2011-08-06 0:43 ` Frederic Weisbecker
2011-08-06 6:48 ` Ingo Molnar
2011-08-06 14:56 ` Frederic Weisbecker
[not found] ` <CAKYOsXw+Q+h2D++LxAoCUJ3tFVEhczBgDWNjwXzuJ0mNDav_Rw@mail.gmail.com>
2011-08-06 15:18 ` Frederic Weisbecker
2011-08-06 15:35 ` Steven Rostedt
2011-08-06 1:01 ` Steven Rostedt
2011-08-06 6:51 ` Ingo Molnar
2011-08-08 21:30 ` Steven Rostedt
2011-08-06 9:14 ` Borislav Petkov
2011-08-06 0:07 ` David Ahern [this message]
2011-08-06 1:05 ` Steven Rostedt
2011-08-06 15:23 ` Colin Walters
[not found] <CAGZ=bq+mJ-9pf0Y22b9LLey0Em2Y7SAA5FnQ5cPsde6GB_aqgw@mail.gmail.com>
2011-08-06 21:40 ` Steven Rostedt
2011-08-06 23:14 ` Kyle Moffett
2011-08-08 9:34 ` Américo Wang
2011-08-08 13:42 ` Steven Rostedt
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=4E3C85B0.7090905@gmail.com \
--to=dsahern@gmail.com \
--cc=acme@redhat.com \
--cc=arjan@infradead.org \
--cc=bp@alien8.de \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.