Arnaldo Carvalho de Melo
0d37aa34f8
perf tools: Introduce per user view
...
The new --uid command line option will show only the tasks for a given
user, using the proc interface to figure out the existing tasks.
Kernel work is needed to close races at startup, but this should already
be useful in many use cases.
Cc: David Ahern <dsahern@gmail.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/n/tip-bdnspm000gw2l984a2t53o8z@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-24 19:47:37 -02:00
Arnaldo Carvalho de Melo
9ae7d3351a
perf tools: Add fprintf methods for thread_map and cpu_map classes
...
For helping with debugging.
Cc: David Ahern <dsahern@gmail.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/n/tip-m06n4rp7pwr6dlzwoq89cl69@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-24 19:46:48 -02:00
Namhyung Kim
172d1b0b73
perf tools: Fix compile error on x86_64 Ubuntu
...
The ctype.h include is not needed here and it breaks build on some systems (at
least 64bit Ubuntu 10.04) like below. Just get rid of it.
CC util/trace-event-info.o
cc1: warnings being treated as errors
util/trace-event-info.c: In function ‘record_file’:
util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’
util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Joerg Roedel <joerg.roedel@amd.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1326035430-7621-1-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 13:34:55 -02:00
Namhyung Kim
0ed35abc2b
perf report: Fix --stdio output alignment when --showcpuutilization used
...
Current perf report output is broken if --showcpuutilization is used.
Combination with -n and/or --show-total-period make things worse.
This patch fixes it as follows:
before:
48.25% 48.25% 0.00% sleep [kernel.kallsyms] [k] trace_hardirqs_off
34.99% 34.99% 0.00% sleep [kernel.kallsyms] [k] __find_get_block_slow
15.99% 15.99% 0.00% sleep [kernel.kallsyms] [k] lock_release_holdtime
0.77% 0.77% 0.00% sleep [kernel.kallsyms] [k] native_write_msr_safe
after:
48.25% 48.25% 0.00% sleep [kernel.kallsyms] [k] trace_hardirqs_off
34.99% 34.99% 0.00% sleep [kernel.kallsyms] [k] __find_get_block_slow
15.99% 15.99% 0.00% sleep [kernel.kallsyms] [k] lock_release_holdtime
0.77% 0.77% 0.00% sleep [kernel.kallsyms] [k] native_write_msr_safe
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325957132-10600-8-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 13:32:51 -02:00
Namhyung Kim
6714a04114
perf annotate: Get rid of field_sep check
...
The 'field_sep' variable is not set anywhere. Just remove the
conditional.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325957132-10600-7-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 13:29:34 -02:00
Namhyung Kim
9934525417
perf annotate: Fix usage string
...
The annotate command doesn't take non-option arguments.
In fact, it can take last argument as a symbol filter though, but that's
a special case and, IMHO, it should be discouraged in favor of the -s
option.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325957132-10600-6-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 13:28:48 -02:00
Namhyung Kim
1b22859d43
perf kmem: Fix a memory leak
...
The 'str' should be freed when sort_dimension__add() failed too.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325957132-10600-5-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 13:27:54 -02:00
Namhyung Kim
8442da1d9f
perf kmem: Add missing closedir() calls
...
The setup_cpunode_map() calls opendir() but misses corresponding
closedir(). Add them.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325957132-10600-4-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 13:27:06 -02:00
Namhyung Kim
cdce445906
perf top: Add error message for EMFILE
...
When a user tries to open so many events, perf_event_open syscall may
fail with EMFILE. Provide advise for that case.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325957132-10600-3-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 13:26:11 -02:00
Namhyung Kim
c30ab8aa08
perf test: Change type of '-v' option to INCR
...
The '-v' option is usually defined via OPT_INCR not _INTEGER. Follow
the trend :).
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325957132-10600-2-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 13:25:00 -02:00
Namhyung Kim
946ef2a245
perf script: Add missing closedir() calls
...
The get_script_path() calls opendir() but misses corresponding
closedir()'s. Add them.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325957132-10600-1-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-08 12:35:41 -02:00
Sebastian Andrzej Siewior
cc5a91e972
perf tools: Add const.h to MANIFEST to make perf-tar-src-pkg work again
...
Fixes:
|make: *** No rule to make target `../../include/linux/const.h', needed by `builtin-annotate.o'. Stop.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1324128938-17553-1-git-send-email-sebastian@breakpoint.cc
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-06 15:52:18 -02:00
Joerg Roedel
99320cc824
perf tools: Add support for guest/host-only profiling
...
To restrict a counter to either host or guest mode this patch introduces
two new event modifiers: G and H.
With G the counter is configured in guest-only mode and with H in
host-only mode.
Cc: Gleb Natapov <gleb@redhat.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Joerg Roedel <joro@8bytes.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Signed-off-by: Gleb Natapov <gleb@redhat.com >
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com >
Link: http://lkml.kernel.org/n/tip-or5aj3rghy9ngyg882z6kln9@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-06 15:49:49 -02:00
Joerg Roedel
1aed267173
perf kvm: Do guest-only counting by default
...
Make use of exclude_guest and exlude_host in perf-kvm to do only
guest-only counting by default.
Cc: Gleb Natapov <gleb@redhat.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Joerg Roedel <joro@8bytes.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Signed-off-by: Gleb Natapov <gleb@redhat.com >
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com >
[ committer note: Moved perf_{guest,host} & event_attr_init to util.c ]
[ so as not to drag more stuff to the python binding]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-06 15:47:37 -02:00
Arnaldo Carvalho de Melo
df25f989a4
perf top: Don't update total_period on process_sample
...
It will be recalculated at __hists__output_resort, to take into account
filters possibly applied by the TUI, etc.
Since we do the percent math only for those entries that will appear on
the TUI instead of for _all_ the entries at decay time, updating it for
each sample makes the entries seem to decay faster when using the
navigation keys (since the screen will be refreshed), as we're not
coalescing the entries that are being batched to be merged at next
resort/decay time, but considering their periods.
Bug introduced in 743eb86 .
Reported-by: Ingo Molnar <mingo@elte.hu >
Cc: David Ahern <dsahern@gmail.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/n/tip-k0d0rq9a8nqtkqohov8cir72@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-06 15:46:50 -02:00
Arnaldo Carvalho de Melo
12c142781e
perf hists: Stop using 'self' for struct hist_entry
...
Stop using this python/OOP convention, doesn't really helps. Will do
more from time to time till we get it cleaned up in all of /perf.
Suggested-by: Thomas Gleixner <tglx@linutronix.de >
Cc: David Ahern <dsahern@gmail.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/n/tip-me4dyj6s5snh7jr8wb9gzt82@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-06 15:42:52 -02:00
Arnaldo Carvalho de Melo
13d3ee5402
perf hists: Rename total_session to total_period
...
Nowadays we do it per evsel, not per session (that may have multiple
evsels), so rename it to avoid confusion.
Cc: David Ahern <dsahern@gmail.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/n/tip-azsgomr5h4dmaudoogw48w49@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-06 15:42:08 -02:00
Joerg Roedel
9e183426bf
perf kvm: Fix copy & paste error in description
...
The --host option certainly enables host-data collection.
Cc: Avi Kivity <avi@redhat.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Joerg Roedel <joerg.roedel@amd.com >
Cc: kvm@vger.kernel.org
Link: http://lkml.kernel.org/r/1317816084-18026-5-git-send-email-gleb@redhat.com
Signed-off-by: Gleb Natapov <gleb@redhat.com >
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-03 15:17:14 -02:00
Namhyung Kim
466e2876bc
perf script: Kill script_spec__delete
...
As script_spec__delete() frees given struct script_spec it should not be
called if we failed to allocate the struct. Also it's the only caller of
the function, we can get rid of the function itself.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325000151-4463-4-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-03 15:06:34 -02:00
Namhyung Kim
057a174a06
perf top: Fix a memory leak
...
The 'buf' should be freed when symbol wasn't found too.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325000151-4463-3-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-03 14:37:19 -02:00
Namhyung Kim
15e6392fee
perf stat: Introduce get_ratio_color() helper
...
The get_ratio_color() returns appropriate color string based on @ratio.
It helps reducing code duplication.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325000151-4463-2-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-03 14:36:32 -02:00
Namhyung Kim
29c9862f1b
perf session: Remove impossible condition check
...
The 'size' cannot be 0 because it was set to 8 on the above line in case
it was 0 and never changed.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1325000151-4463-1-git-send-email-namhyung@gmail.com
Signed-off-by: Namhyung Kim <namhyung@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2012-01-03 14:35:02 -02:00
Ingo Molnar
f232806272
perf tools: Fix feature-bits rework fallout, remove unused variable
...
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Cc: Robert Richter <robert.richter@amd.com >
Link: http://lkml.kernel.org/n/tip-lfckuwbl8m1ykb7t9ydsxe4r@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2011-12-29 21:26:17 +01:00
Robert Richter
37a058ea00
perf script: Add generic perl handler to process events
...
The current perf scripting facility only supports tracepoints. This
patch implements a generic perl handler to support other events than
tracepoints too.
This patch introduces a function process_event() that is called by perf
for each sample. The function is called with byte streams as arguments
containing information about the event, its attributes, the sample and
raw data. Perl's unpack() function can easily be used for byte decoding.
The following is the default implementation for process_event() that can
also be generated with perf script:
# Packed byte string args of process_event():
#
# $event: union perf_event util/event.h
# $attr: struct perf_event_attr linux/perf_event.h
# $sample: struct perf_sample util/event.h
# $raw_data: perf_sample->raw_data util/event.h
sub process_event
{
my ($event, $attr, $sample, $raw_data) = @_;
my @event = unpack("LSS", $event);
my @attr = unpack("LLQQQQQLLQQ", $attr);
my @sample = unpack("QLLQQQQQLL", $sample);
my @raw_data = unpack("C*", $raw_data);
use Data::Dumper;
print Dumper \@event, \@attr, \@sample, \@raw_data;
}
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/r/1323969824-9711-4-git-send-email-robert.richter@amd.com
Signed-off-by: Robert Richter <robert.richter@amd.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2011-12-23 17:05:48 -02:00
Robert Richter
b1e5a9bee3
perf tools: Use for_each_set_bit() to iterate over feature flags
...
This patch introduces the for_each_set_bit() macro and modifies feature
implementation to use it.
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/r/1323248577-11268-8-git-send-email-robert.richter@amd.com
Signed-off-by: Robert Richter <robert.richter@amd.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2011-12-23 17:03:36 -02:00