public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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/

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox