22 Feb, 2010
1 commit
-
Clear struct probe_point before using it in
show_perf_probe_events(), and set pp->found counter correctly in
synthesize_perf_probe_point(). Without this initialization,
clear_probe_point() will free random addresses.Signed-off-by: Masami Hiramatsu
Cc: Peter Zijlstra
Cc: Mike Galbraith
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Frederic Weisbecker
Cc: systemtap
Cc: DLE
LKML-Reference:
Signed-off-by: Ingo Molnar
14 Feb, 2010
1 commit
-
Print this:
Mapped keys:
[d] display refresh delay. (2)
[e] display entries (lines). (46)
[f] profile display filter (count). (5)
[F] annotate display filter (percent). (5%)
[s] annotate symbol. (NULL)
[S] stop annotation.
[K] hide kernel_symbols symbols. (no)
[U] hide user symbols. (no)
[z] toggle sample zeroing. (0)
[qQ] quit.instead of:
Mapped keys:
[d] display refresh delay. (2)
[e] display entries (lines). (46)
[f] profile display filter (count). (5)
[F] annotate display filter (percent). (5%)
[s] annotate symbol. (NULL)
[S] stop annotation.
[K] hide kernel_symbols symbols. (no)
[U] hide user symbols. (no)
[z] toggle sample zeroing. (0)
[qQ] quit.Signed-off-by: Kirill Smelkov
Acked-by: Arnaldo Carvalho de Melo
Cc: Peter Zijlstra
Cc: Mike Galbraith
Cc: Paul Mackerras
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar
09 Feb, 2010
1 commit
-
cpumode bits are defined as such:
#define PERF_RECORD_MISC_KERNEL (1 << 0)
#define PERF_RECORD_MISC_USER (2 << 0)
#define PERF_RECORD_MISC_HYPERVISOR (3 << 0)We need to compare against the complete value of cpumode,
otherwise hypervisor samples get incorrectly attributed as
userspace.Signed-off-by: Anton Blanchard
Cc: Peter Zijlstra
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: fweisbec@gmail.com
LKML-Reference:
Signed-off-by: Ingo Molnar
27 Jan, 2010
2 commits
-
Tell git to ignore this file.
Signed-off-by: WANG Cong
LKML-Reference:
Signed-off-by: Ingo Molnar -
Segmentation fault occurs when running perf report with '-g
none'.Reported-by: Austin Zhang
Signed-off-by: Yong Wang
Cc: Peter Zijlstra
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar
20 Jan, 2010
2 commits
-
This patch fixes "perf kmem" to print usage help instead of
doing nothing.Signed-off-by: Pekka Enberg
Cc: Peter Zijlstra
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Li Zefan
Cc: Xiao Guangrong
LKML-Reference:
Signed-off-by: Ingo Molnar -
It's fairly easy to overflow the "Hit" column with just few
seconds of tracing so increase the column length to avoid broken
formatting.Signed-off-by: Pekka Enberg
Cc: Peter Zijlstra
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Li Zefan
Cc: Xiao Guangrong
LKML-Reference:
Signed-off-by: Ingo Molnar
17 Jan, 2010
1 commit
-
A process that changes its comm field, does this on a per kernel
task struct basis. The timechart tool used, incorrectly, the pid
to track this, and should have used the tid instead...Signed-off-by: Arjan van de Ven
Cc: Peter Zijlstra
Cc: Mike Galbraith
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Frederic Weisbecker
CC:
LKML-Reference:
Signed-off-by: Ingo Molnar
13 Jan, 2010
2 commits
-
At least on Debian PARISC64, using:
acme@parisc:~/git/linux-2.6-tip$ gcc -v
Using built-in specs.
Target: hppa-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian
4.3.4-6' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-libssp --enable-checking=release --build=hppa-linux-gnu --host=hppa-linux-gnu --target=hppa-linux-gnu Thread model: posix gcc version 4.3.4 (Debian 4.3.4-6)there are issues about using 'gcc -o /dev/null':
/usr/bin/ld: final link failed: File truncated
collect2: ld returned 1 exit statusSo we test that and use /dev/null in environments where it
works, while using an .INTERMEDIATE file on those where it can't
be used, so that the .perf.dev.null file can be used instead and
then deleted when make exits.Researched-with: Kyle McMartin
Researched-with: Mauro Carvalho Chehab
Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
QUIET_STDERR is used when detecting if -fstack-protector-all can
be used.Noticed while building the perf tools on a Debian PARISC64
machine.Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar
28 Dec, 2009
4 commits
-
Replace bytes_req with bytes_alloc.
Signed-off-by: Wenji Huang
Reviewed-by: Li Zefan
Cc: acme@redhat.com
LKML-Reference:
Signed-off-by: Ingo Molnar -
perf_event_hw_event has been renamed to perf_event_attr. The
design document was still using the old name, though.Signed-off-by: Tim Blechmann
Cc: Peter Zijlstra
Cc: Mike Galbraith
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
So that changes in them trigger rebuilds, like when we're doing
bisects.Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
IOW: Now 'perf record -a' works, this was a bug introduced in:
856e96608a72412d319e498a3a7c557571f811bd
"perf record: Properly synchronize child creation"Also fix the -C usage, i.e. allow for profiling all the tasks in
one CPU.Reported-by: Pekka Enberg
Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar
19 Dec, 2009
1 commit
-
Fixing this:
[acme@doppio linux-2.6-tip]$ perf diff --hell
Error: unknown option `hell'usage: perf diff [] [old_file] [new_file]
Segmentation fault
[acme@doppio linux-2.6-tip]$Also go over the other such arrays to check if they all were OK,
they are, but there were some minor changes to do like making
one static and renaming another to match the command it refers
to.Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frederic Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar
18 Dec, 2009
1 commit
-
Pekka Enberg reported weird percentages in perf report. It
turns out we are overflowing a 32-bit variables in struct
events_stats on 32-bit architectures.Before:
[acme@ana linux-2.6-tip]$ perf report -i pekka.perf.data 2> /dev/null | head -10
281.96% Xorg b710a561 [.] 0x000000b710a561
140.15% Xorg [kernel] [k] __initramfs_end
51.56% metacity libgobject-2.0.so.0.2000.1 [.] 0x00000000026e46
35.12% evolution libcairo.so.2.10800.6 [.] 0x000000000203bd
33.84% metacity libpthread-2.9.so [.] 0x00000000007a3dAfter:
[acme@ana linux-2.6-tip]$ perf report -i pekka.perf.data 2> /dev/null | head -10
30.04% Xorg b710a561 [.] 0x000000b710a561
14.93% Xorg [kernel] [k] __initramfs_end
5.49% metacity libgobject-2.0.so.0.2000.1 [.] 0x00000000026e46
3.74% evolution libcairo.so.2.10800.6 [.] 0x000000000203bd
3.61% metacity libpthread-2.9.so [.] 0x00000000007a3dReported-by: Pekka Enberg
Tested-by: Pekka Enberg
Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frederic Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar
17 Dec, 2009
7 commits
-
Check new event name is same syntax as a C symbol in perf command.
In other words, checking the name is as like as other tracepoint
events.This can prevent user to create an event with useless name (e.g.
foo|bar, foo*bar).Signed-off-by: Masami Hiramatsu
Cc: Frederic Weisbecker
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: Frederic Weisbecker
Cc: systemtap
Cc: DLE
LKML-Reference:
[ v2: minor cleanups ]
Signed-off-by: Ingo Molnar -
Check whether the debugfs path is correct before executing
a command, because perf-probe depends on debugfs.Signed-off-by: Masami Hiramatsu
Cc: Frederic Weisbecker
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
LKML-Reference:
Signed-off-by: Ingo Molnar -
Fix libdwarf include path to fit debian-like systems too.
Borislav Petkov reported:
> even after installing libdwarf-dev on my debian box here,
> make in tools/perf/ still complains that it cannot find libdwarf:
>
> Makefile:491: No libdwarf.h found or old libdwarf.h found, disables dwarf
> support. Please install libdwarf-dev/libdwarf-devel >= 20081231
>
> The problem is that the include path on debian is not
> /usr/include/libdwarf/ but simply /usr/include because the debian
> package libdwarf-dev puts the headers straight into
> /usr/include.This patch adds -I/usr/include/libdwarf to BASIC_CFLAGS
and fix probe-finder.h to include just libdwarf.h/dwarf.h.This patch also adds a workaround for the undefined _MIPS_SZLONG
bug in libdwarf.h.Reported-by: Borislav Petkov
Signed-off-by: Masami Hiramatsu
Cc: Frederic Weisbecker
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: Gabor Gombas
Cc: systemtap
Cc: DLE
LKML-Reference:
[ v2: small stylistic fixlets to probe-finder.h ]
Signed-off-by: Ingo Molnar -
Create events with a pid and cpu contraint for inherited events
so that we get a stream per cpu, instead of all cpus contending
on a single stream.Signed-off-by: Peter Zijlstra
Cc: Arnaldo Carvalho de Melo
Cc: fweisbec@gmail.com
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
Remove that ugly usleep and provide proper serialization between
parent and child just like perf-stat does.Signed-off-by: Peter Zijlstra
Cc: Arnaldo Carvalho de Melo
Cc: fweisbec@gmail.com
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
Otherwise we do integer math and the delta values round up to
multiples of 1.0%.Also, calculate absolute values. Things look precise now:
$ perf report -i perf.data.old --sort dso,symbol | head -13
9.02% libc-2.10.1.so [.] _IO_vfprintf_internal
4.88% find [.] 0x00000000014af0
2.91% [kernel] [k] __kmalloc
2.85% [kernel] [k] ext4_htree_store_dirent
2.50% libc-2.10.1.so [.] __GI_memmove
2.44% [kernel] [k] half_md4_transform
2.43% [kernel] [k] _spin_lock
2.33% [kernel] [k] system_call
$ perf report -i perf.data --sort dso,symbol | head -13
8.55% libc-2.10.1.so [.] _IO_vfprintf_internal
3.11% [kernel] [k] __kmalloc
3.07% [kernel] [k] ext4_htree_store_dirent
2.66% find [.] 0x00000000016bcf
2.61% [kernel] [k] _atomic_dec_and_lock
2.46% [kernel] [k] half_md4_transform
2.41% libc-2.10.1.so [.] __GI_memmove
2.30% find [.] 0x00000000009219
$ perf diff | head -13
9.02% -0.47% libc-2.10.1.so [.] _IO_vfprintf_internal
2.91% +0.20% [kernel] [k] __kmalloc
2.85% +0.23% [kernel] [k] ext4_htree_store_dirent
1.99% +0.62% [kernel] [k] _atomic_dec_and_lock
2.44% +0.02% [kernel] [k] half_md4_transform
2.50% -0.09% libc-2.10.1.so [.] __GI_memmove
1.88% +0.01% [kernel] [k] __d_lookup
2.43% -0.75% [kernel] [k] _spin_lock
0.97% +0.62% [kernel] [k] path_get
1.99% -0.42% libc-2.10.1.so [.] _int_malloc
$Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
This is a more intuitive / more meaningful default:
$ perf diff | head -8
9.02% +1.00% libc-2.10.1.so [.] _IO_vfprintf_internal
2.91% -1.00% [kernel] [k] __kmalloc
2.85% -1.00% [kernel] [k] ext4_htree_store_dirent
1.99% -1.00% [kernel] [k] _atomic_dec_and_lock
2.44% [kernel]
$Suggested-by: Ingo Molnar
Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar
16 Dec, 2009
17 commits
-
That means that almost everything you can do with 'perf report'
can be done with 'perf diff', for instance:$ perf record -f find / > /dev/null
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.062 MB perf.data (~2699
samples) ] $ perf record -f find / > /dev/null
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.062 MB perf.data (~2687
samples) ] perf diff | head -8
9.02% +1.00% find libc-2.10.1.so [.] _IO_vfprintf_internal
2.91% -1.00% find [kernel] [k] __kmalloc
2.85% -1.00% find [kernel] [k] ext4_htree_store_dirent
1.99% -1.00% find [kernel] [k] _atomic_dec_and_lock
2.44% find [kernel] [k] half_md4_transform
$So if you want to zoom into libc:
$ perf diff --dsos libc-2.10.1.so | head -8
37.34% find [.] _IO_vfprintf_internal
10.34% find [.] __GI_memmove
8.25% +2.00% find [.] _int_malloc
5.07% -1.00% find [.] __GI_mempcpy
7.62% +2.00% find [.] _int_free
$And if there were multiple commands using libc, it is also
possible to aggregate them all by using --sort symbol:$ perf diff --dsos libc-2.10.1.so --sort symbol | head -8
37.34% [.] _IO_vfprintf_internal
10.34% [.] __GI_memmove
8.25% +2.00% [.] _int_malloc
5.07% -1.00% [.] __GI_mempcpy
7.62% +2.00% [.] _int_free
$The displacement column now is off by default, to use it:
perf diff -m --dsos libc-2.10.1.so --sort symbol | head -8
37.34% [.] _IO_vfprintf_internal
10.34% [.] __GI_memmove
8.25% +2.00% [.] _int_malloc
5.07% -1.00% +2 [.] __GI_mempcpy
7.62% +2.00% -1 [.] _int_free
$Using -t/--field-separator can be used for scripting:
$ perf diff -t, -m --dsos libc-2.10.1.so --sort symbol | head -8
37.34, , ,[.] _IO_vfprintf_internal
10.34, , ,[.] __GI_memmove
8.25,+2.00%, ,[.] _int_malloc
5.07,-1.00%, +2,[.] __GI_mempcpy
7.62,+2.00%, -1,[.] _int_free
6.99,+1.00%, -1,[.] _IO_new_file_xsputn
1.89,-2.00%, +4,[.] __readdir64
$Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
Introduced in:
d599db3fc5dd4f1e8432fdbc6d899584b25f4dff
"perf report: Generalize perf_session__fprintf_hists()"Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
Those don't make sense for tools such as 'perf diff'.
Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
Will be used in other tools such as 'perf diff'.
Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
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
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
So that --dsos, --comm, --symbols can bem used in more tools,
like in perf diff:$ perf record -f find / > /dev/null
$ perf record -f find / > /dev/null
$ perf diff --dsos /lib64/libc-2.10.1.so | head -5
1 +22392124 /lib64/libc-2.10.1.so _IO_vfprintf_internal
2 +6410655 /lib64/libc-2.10.1.so __GI_memmove
3 +1 +9192692 /lib64/libc-2.10.1.so _int_malloc
4 -1 -15158605 /lib64/libc-2.10.1.so _int_free
5 +45669 /lib64/libc-2.10.1.so _IO_new_file_xsputn
$Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
Will be used in perf diff too.
Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
This simplifies a lot of functions, less stuff to be done by
tool writers.Signed-off-by: Arnaldo Carvalho de Melo
Cc: Frédéric Weisbecker
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Paul Mackerras
LKML-Reference:
Signed-off-by: Ingo Molnar -
Fix perf probe to show which probe point is not found.
With out this patch, it shows just "No probe point found."
This doesn't help users if they specify several probes.
e.g.# perf probe -f --add schedule --add test
Fatal: No probe point found.This patch makes error message more helpful as below.
# perf probe --add schedule --add test
Fatal: Probe point 'test' not found. - probe not added.Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
Check symbols in symtab/kallsyms when no debuginfo
is available.e.g.
# perf probe test
Fatal: Kernel symbol 'test' not found - probe not added.Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
Check build-id of vmlinux by using functions in symbol.c.
This also exposes map__load() for getting vmlinux path,
and removes vmlinux path list in builtin-probe.c,
because symbol.c already has that. Checking build-id
prevents users to open old or different debuginfo from
current running kernel.Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
Reject second attempt of adding same-name event. This patch
also provides --force option which allows user to add additional
probe events on the same-name event.e.g.
(the first attempt : success)
./perf probe schedule
Added new event:
probe:schedule (on schedule+0)(the second attempt : failure)
./perf probe schedule:11
Error: event "schedule" already exists. (Use -f to force duplicates.)
Fatal: Can't add new event.(the second attempt with -f : successfully added)
./perf probe -f schedule:11
Added new event:
probe:schedule_1 (on schedule+45)Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
Support event name syntax for --add option. This allows
users to specify event name for each new event.The --add syntax is:
perf probe --add '[EVENT=]SRC:LINE ARGS'
or
perf probe --add '[EVENT=]FUNC[+OFFS|%return|:RLN][@SRC] ARGS'e.g.
./perf probe --add myprobe1=schedule
Note: currently group name is not supported yet, because it
can cause name-space confliction with other tracepoint/
hw-breakpoint events.Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
Add glob-expression matching support on --del option.
You can use wildcards for specifying deleting events.
e.g.Clear all probe events:
# perf probe --del '*'
Clear probes on schedule():
# perf probe --del 'schedule*'
Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
Use strlist__for_each macros instead of using strlist__entry()
and index variable.Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
Add for_each iteration macros for strlist. This patch
introduces strlist__for_each() and strlist__for_each_safe(),
both are similar to list_for_each() and list_for_each_safe().Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar -
Fix --del option to update current existing event list
after perf probe deleted an event.Signed-off-by: Masami Hiramatsu
Cc: Paul Mackerras
Cc: Arnaldo Carvalho de Melo
Cc: Steven Rostedt
Cc: Jim Keniston
Cc: Ananth N Mavinakayanahalli
Cc: Christoph Hellwig
Cc: Frank Ch. Eigler
Cc: Jason Baron
Cc: K.Prasad
Cc: Peter Zijlstra
Cc: Srikar Dronamraju
Cc: systemtap
Cc: DLE
Cc: Frederic Weisbecker
LKML-Reference:
Signed-off-by: Ingo Molnar