Arnaldo Carvalho de Melo
de1764892a
perf session: Keep pointers to the vmlinux maps
...
So that tools such as 'perf probe' don't have to lookup
'[kernel.kallsyms]' but instead access them directly after
perf_session__create_kernel_maps or
map_groups__create_kernel_maps.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1262629169-22797-4-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-01-13 10:09:10 +01:00
Arnaldo Carvalho de Melo
55aa640f54
perf session: Remove redundant prefix & suffix from perf_event_ops
...
Since now all that we have are perf event handlers, leave just
the name of the event.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1261957026-15580-9-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-28 09:03:35 +01:00
Arnaldo Carvalho de Melo
f7d87444e6
perf session: Move full_paths config to symbol_conf
...
Now perf_event_ops has just that, event handlers.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1261957026-15580-8-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-28 09:03:35 +01:00
Arnaldo Carvalho de Melo
31d337c4ee
perf session: Move total_unknown to perf_session->unknown events
...
As this is a session property, not belonging to perf_event_ops,
that can be shared by many perf_session instances.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1261957026-15580-7-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-28 09:03:34 +01:00
Arnaldo Carvalho de Melo
d549c76901
perf session: Remove sample_type_check from event_ops
...
This is really something tools need to do before asking for the
events to be processed, leaving perf_session__process_events to
do just that, process events.
Also add a msg parameter to perf_session__has_traces() so that
the right message can be printed, fixing a regression added by
me in the previous cset (right timechart message) and also
fixing 'perf kmem', that was not asking if 'perf kmem record'
was ran.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1261957026-15580-6-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-28 09:03:34 +01:00
Arnaldo Carvalho de Melo
27295592c2
perf session: Share the common trace sample_check routine as perf_session__has_traces
...
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1261957026-15580-5-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-28 09:03:33 +01:00
Arnaldo Carvalho de Melo
d599db3fc5
perf report: Generalize perf_session__fprintf_hists()
...
Pull it out of builtin-report - further changes will be made and it
will then be reusable in 'perf diff' as well.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260914682-29652-4-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-16 08:53:50 +01:00
Arnaldo Carvalho de Melo
75be6cf487
perf symbols: Make symbol_conf global
...
This simplifies a lot of functions, less stuff to be done by
tool writers.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260914682-29652-1-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-16 08:53:48 +01:00
Arnaldo Carvalho de Melo
f823e441ab
perf session: Event statistics also are per session
...
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260810361-22828-1-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 08:50:28 +01:00
Arnaldo Carvalho de Melo
c019879bcc
perf session: Adopt the sample_type variable
...
All tools had copies, and perf diff would have to specify a
sample_type_check method just for copying it.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260807780-19377-2-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-14 17:34:56 +01:00
Arnaldo Carvalho de Melo
a328626b61
perf session: Adopt resolve_callchain
...
This is really a generic library routine, so declutter
builtin-report.c a bit by moving it to the library.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260807780-19377-1-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-14 17:34:55 +01:00
Arnaldo Carvalho de Melo
4e4f06e4c8
perf session: Move the hist_entries rb tree to perf_session
...
As we'll need to sort multiple times for multiple perf sessions,
so that we can then do a diff.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260803439-16783-1-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-14 16:57:18 +01:00
Arnaldo Carvalho de Melo
4aa6563641
perf session: Move kmaps to perf_session
...
There is still some more work to do to disentangle map creation
from DSO loading, but this happens only for the kernel, and for
the early adopters of perf diff, where this disentanglement
matters most, we'll be testing different kernels, so no problem
here.
Further clarification: right now we create the kernel maps for
the various modules and discontiguous kernel text maps when
loading the DSO, we should do it as a two step process, first
creating the maps, for multiple mappings with the same DSO
store, then doing the dso load just once, for the first hit on
one of the maps sharing this DSO backing store.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260741029-4430-6-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-14 16:57:17 +01:00
Arnaldo Carvalho de Melo
b3165f4144
perf session: Move the global threads list to perf_session
...
So that we can process two perf.data files.
We still need to add a O_MMAP mode for perf_session so that we
can do all the mmap stuff in it.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260741029-4430-5-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-14 16:57:16 +01:00
Arnaldo Carvalho de Melo
ec91336973
perf session: Reduce the number of parms to perf_session__process_events
...
By having the cwd/cwdlen in the perf_session struct and
full_paths in perf_event_ops.
Now its just a matter of passing the ops.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260741029-4430-4-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-14 16:57:16 +01:00
Arnaldo Carvalho de Melo
301a0b0202
perf session: Ditch register_perf_file_handler
...
Pass the event_ops to perf_session__process_events instead.
Also move the event_ops definition to session.h, starting to
move things around to their right place, trimming the many
unneeded headers we have.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260741029-4430-2-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-14 16:57:15 +01:00
Arnaldo Carvalho de Melo
94c744b6c0
perf tools: Introduce perf_session class
...
That does all the initialization boilerplate, opening the file,
reading the header, checking if it is valid, etc.
And that will as well have the threads list, kmap (now) global
variable, etc, so that we can handle two (or more) perf.data files
describing sessions to compare.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frédéric Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <1260573842-19720-1-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-12 07:42:12 +01:00