ef4a356574
perf probe: Add --max-probes option
...
Add --max-probes option to change the maximum limit of
findable probe points per event, since inlined function can be
expanded into thousands of probe points. Default value is 128.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Suggested-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@elte.hu >
LKML-Reference: <20100421195640.24664.62984.stgit@localhost6.localdomain6 >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-26 15:35:20 -03:00
15eca306ec
perf probe: Fix to use symtab only if no debuginfo
...
Fix perf probe to use symtab only if there is no debuginfo, because debuginfo
has more information than symtab.
If we can't find a function in debuginfo, we never find it in symtab.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@elte.hu >
LKML-Reference: <20100421195624.24664.46214.stgit@localhost6.localdomain6 >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-26 15:32:37 -03:00
6eca8cc35b
perf: Fix perf probe build error
...
When we run into dry run mode, we want to make
write_kprobe_trace_event to succeed on writing the event. Let's
initialize it to 0.
Fixes the following build error:
util/probe-event.c:1266: attention : «ret» may be used uninitialized in this function
util/probe-event.c:1266: note: «ret» was declared here
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
LKML-Reference: <1271808065-25290-1-git-send-regression-fweisbec@gmail.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-04-21 09:39:52 +02:00
a1645ce12a
perf: 'perf kvm' tool for monitoring guest performance from host
...
Here is the patch of userspace perf tool.
Signed-off-by: Zhang Yanmin <yanmin_zhang@linux.intel.com >
Signed-off-by: Avi Kivity <avi@redhat.com >
2010-04-19 12:37:24 +03:00
dda4ab34fe
perf probe: Fix line range to show end line
...
Line range should reject the range if the number of lines is 0
(e.g. "sched.c:1024+0"), and it should show the lines include
the end of line number (e.g. "sched.c:1024-2048" should show
2048th line).
LKML-Reference: <20100414223950.14630.42263.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@elte.hu >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:41:30 -03:00
d3b63d7ae0
perf probe: Fix a bug that --line range can be overflow
...
Since line_finder.lno_s/e are signed int but line_range.start/end
are unsigned int, it is possible to be overflow when converting
line_range->start/end to line_finder->lno_s/e.
This changes line_range.start/end and line_list.line to signed int
and adds overflow checks when setting line_finder.lno_s/e.
LKML-Reference: <20100414223942.14630.72730.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@elte.hu >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:41:21 -03:00
dd259c5db2
perf probe: Fix mis-estimation for shortening filename
...
Fix mis-estimation size for making a short filename.
Since the buffer size is 32 bytes and there are '@' prefix and
'\0' termination, maximum shorten filename length should be
30. This means, before searching '/', it should be 31 bytes.
LKML-Reference: <20100414223935.14630.11954.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@elte.hu >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:41:14 -03:00
7ca5989dd0
perf probe: Fix to use correct debugfs path finder
...
Instead of using debugfs_path, use debugfs_find_mountpoint()
to find actual debugfs path.
LKML-Reference: <20100414223928.14630.38326.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Reported-by: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:41:06 -03:00
02b95dadc8
perf probe: Remove xstrdup()/xstrndup() from util/probe-{event, finder}.c
...
Remove all xstr*dup() calls from util/probe-{event,finder}.c since
it may cause 'sudden death' in utility functions and it makes
reusing it from other code difficult.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20100412171756.3790.89607.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:28:52 -03:00
e334016f1d
perf probe: Remove xzalloc() from util/probe-{event, finder}.c
...
Remove all xzalloc() calls from util/probe-{event,finder}.c since
it may cause 'sudden death' in utility functions and it makes
reusing it from other code difficult.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20100412171749.3790.33303.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:28:45 -03:00
146a143948
perf probe: Remove die() from probe-event code
...
Remove die() and DIE_IF() code from util/probe-event.c since
these 'sudden death' in utility functions make reusing it from
other code (especially tui/gui) difficult.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20100412171742.3790.33650.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:28:36 -03:00
b55a87ade3
perf probe: Remove die() from probe-finder code
...
Remove die() and DIE_IF() code from util/probe-finder.c since
these 'sudden death' in utility functions make reusing it from
other code (especially tui/gui) difficult.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20100412171735.3790.88853.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:28:30 -03:00
11a1ca3554
perf probe: Support basic type casting
...
Add basic type casting for arguments to perf probe. This allows
users to specify the actual type of arguments. Of course, if
user sets invalid types, kprobe-tracer rejects that.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20100412171722.3790.50372.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:28:09 -03:00
4984912eb2
perf probe: Query basic types from debuginfo
...
Query the basic type information (byte-size and signed-flag) from
debuginfo and pass that to kprobe-tracer. This is especially useful
for tracing the members of data structure, because each member has
different byte-size on the memory.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20100412171715.3790.23730.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:27:56 -03:00
df0faf4be0
perf probe: Use the last field name as the argument name
...
Set the last field name to the argument name when the argument
is refering a data-structure member.
e.g.
./perf probe --add 'vfs_read file->f_mode'
Add new event:
probe:vfs_read (on vfs_read with f_mode=file->f_mode)
This probe records file->f_mode, but the argument name becomes "f_mode".
This enables perf-trace command to parse trace event format correctly.
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20100412171700.3790.72961.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:26:14 -03:00
48481938b0
perf probe: Support argument name
...
Set given names to event arguments. The syntax is same as kprobe-tracer,
you can add 'NAME=' right before each argument.
e.g.
./perf probe vfs_read foo=file
then, 'foo' is set to the argument name as below.
./perf probe -l
probe:vfs_read (on vfs_read@linux-2.6-tip/fs/read_write.c with foo)
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20100412171653.3790.74624.stgit@localhost6.localdomain6 >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2010-04-14 17:26:04 -03:00
4b4da7f766
perf probe: Cleanup debuginfo related code
...
Cleanup debuginfo related code to eliminate fragile code which
pointed by Ingo (Thanks!).
1) Invert logic of NO_DWARF_SUPPORT to DWARF_SUPPORT.
2) For removing assymetric/local variable ifdefs, introduce
more helper functions.
3) Change options order to reduce the number of ifdefs.
Reported-by: Ingo Molnar <mingo@elte.hu >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <1269274229-20442-2-git-send-email-acme@infradead.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-22 18:47:35 +01:00
55632770d7
perf events: Fix false positive build warning with older GCC's
...
gcc 4.2.1 produces:
util/probe-event.c: In function 'add_perf_probe_events':
util/probe-event.c:883: warning: 'tev' may be used uninitialized in this function
make: *** [util/probe-event.o] Error 1
Newer GCCs get this right.
To work it around, initialize the variable to NULL so that older GCCs see
it as initialized too.
Cc: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <20100316220612.32050.33806.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-18 17:03:24 +01:00
3b0d516463
perf probe: Fix !dwarf build
...
Fix the !drawf build.
This uses the existing NO_DWARF_SUPPORT mechanism we use for that,
but it's really fragile and needs a cleanup. (in a separate patch)
1) Such uses:
#ifndef NO_DWARF_SUPPORT
are double inverted logic a'la 'not not'. Instead the flag should
be called DWARF_SUPPORT.
2) Furthermore, assymetric #ifdef polluted code flow like:
if (need_dwarf)
#ifdef NO_DWARF_SUPPORT
die("Debuginfo-analysis is not supported");
#else /* !NO_DWARF_SUPPORT */
pr_debug("Some probes require debuginfo.\n");
fd = open_vmlinux();
is very fragile and not acceptable. Instead of that helper functions
should be created and the dwarf/no-dwarf logic should be separated more
cleanly.
3) Local variable #ifdefs like this:
#ifndef NO_DWARF_SUPPORT
int fd;
#endif
Are fragile as well and should be eliminated. Helper functions achieve
that too.
Cc: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <20100316220612.32050.33806.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-17 12:13:28 +01:00
7df2f32956
perf probe: Add data structure member access support
...
Support accessing members in the data structures. With this,
perf-probe accepts data-structure members(IOW, it now accepts
dot '.' and arrow '->' operators) as probe arguemnts.
e.g.
./perf probe --add 'schedule:44 rq->curr'
./perf probe --add 'vfs_read file->f_op->read file->f_path.dentry'
Note that '>' can be interpreted as redirection in command-line.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <20100316220626.32050.57552.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-17 12:11:15 +01:00
fb1587d869
perf probe: List probes with line number and file name
...
Improve --list to show current exist probes with line number and
file name. This enables user easily to check which line is
already probed.
for example:
./perf probe --list
probe:vfs_read (on vfs_read:8@linux-2.6-tip/fs/read_write.c)
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <20100316220619.32050.48702.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-17 11:32:32 +01:00
4235b0454e
perf probe: Introduce kprobe_trace_event and perf_probe_event
...
Introduce kprobe_trace_event and perf_probe_event and replace
old probe_point structure with it. probe_point structure is
not enough flexible nor extensible. New data structures
will help implementing further features.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <20100316220612.32050.33806.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-17 11:32:31 +01:00
f4d7da499e
perf probe: Add --dry-run option
...
Add --dry-run option for debugging and testing.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <20100316220605.32050.6571.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-17 11:32:31 +01:00
e0faa8d358
perf probe: Move add-probe routine to util/
...
Move add-probe routine to util/probe_event.c. This simplifies
main routine for reducing maintenance cost.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <20100316220537.32050.72214.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-17 11:32:30 +01:00
31facc5f1a
perf probe: Use wrapper functions
...
Use wrapped functions as much as possible, to check out of
memory conditions in perf probe.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
LKML-Reference: <20100316220530.32050.53951.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-17 11:32:29 +01:00
fc6ceea045
perf probe: Fix need_dwarf flag if lazy matching is used
...
Set need_dwarf if lazy matching pattern is specified, because
lazy matching requires real source path for which we must use
debuginfo.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
LKML-Reference: <20100312232224.2017.54550.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-13 08:32:22 +01:00
548b841669
Merge commit 'v2.6.34-rc1' into perf/urgent
...
Conflicts:
tools/perf/util/probe-event.c
Merge reason: Pick up -rc1 and resolve the conflict as well.
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-03-09 17:11:53 +01:00
660f6a360b
Merge branch 'perf-probes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
...
* 'perf-probes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86: Issue at least one memory barrier in stop_machine_text_poke()
perf probe: Correct probe syntax on command line help
perf probe: Add lazy line matching support
perf probe: Show more lines after last line
perf probe: Check function address range strictly in line finder
perf probe: Use libdw callback routines
perf probe: Use elfutils-libdw for analyzing debuginfo
perf probe: Rename probe finder functions
perf probe: Fix bugs in line range finder
perf probe: Update perf probe document
perf probe: Do not show --line option without dwarf support
kprobes: Add documents of jump optimization
kprobes/x86: Support kprobes jump optimization on x86
x86: Add text_poke_smp for SMP cross modifying code
kprobes/x86: Cleanup save/restore registers
kprobes/x86: Boost probes when reentering
kprobes: Jump optimization sysctl interface
kprobes: Introduce kprobes jump optimization
kprobes: Introduce generic insn_slot framework
kprobes/x86: Cleanup RELATIVEJUMP_INSTRUCTION to RELATIVEJUMP_OPCODE
2010-03-05 10:50:22 -08:00
6556a67435
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
...
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (172 commits)
perf_event, amd: Fix spinlock initialization
perf_event: Fix preempt warning in perf_clock()
perf tools: Flush maps on COMM events
perf_events, x86: Split PMU definitions into separate files
perf annotate: Handle samples not at objdump output addr boundaries
perf_events, x86: Remove superflous MSR writes
perf_events: Simplify code by removing cpu argument to hw_perf_group_sched_in()
perf_events, x86: AMD event scheduling
perf_events: Add new start/stop PMU callbacks
perf_events: Report the MMAP pgoff value in bytes
perf annotate: Defer allocating sym_priv->hist array
perf symbols: Improve debugging information about symtab origins
perf top: Use a macro instead of a constant variable
perf symbols: Check the right return variable
perf/scripts: Tag syscall_name helper as not yet available
perf/scripts: Add perf-trace-python Documentation
perf/scripts: Remove unnecessary PyTuple resizes
perf/scripts: Add syscall tracing scripts
perf/scripts: Add Python scripting engine
perf/scripts: Remove check-perf-trace from listed scripts
...
Fix trivial conflict in tools/perf/util/probe-event.c
2010-02-28 10:20:25 -08:00
018cbffe68
Merge commit 'v2.6.33' into perf/core
...
Merge reason:
__percpu annotations need the corresponding sparse address
space definition upstream.
Conflicts:
tools/perf/util/probe-event.c (trivial)
2010-02-27 16:18:46 +01:00
2a9c8c3609
perf probe: Add lazy line matching support
...
Add lazy line matching support for specifying new probes.
This also changes the syntax of perf probe a bit. Now
perf probe accepts one of below probe event definitions.
1) Define event based on function name
[EVENT=]FUNC[@SRC][:RLN|+OFF|%return|;PTN] [ARG ...]
2) Define event based on source file with line number
[EVENT=]SRC:ALN [ARG ...]
3) Define event based on source file with lazy pattern
[EVENT=]SRC;PTN [ARG ...]
- New lazy matching pattern(PTN) follows ';' (semicolon). And it
must be put the end of the definition.
- So, @SRC is no longer the part which must be put at the end
of the definition.
Note that ';' (semicolon) can be interpreted as the end of
a command by the shell. This means that you need to quote it.
(anyway you will need to quote the lazy pattern itself too,
because it may contains other sensitive characters, like
'[',']' etc.).
Lazy matching
-------------
The lazy line matching is similar to glob matching except
ignoring spaces in both of pattern and target.
e.g.
'a=*' can matches 'a=b', 'a = b', 'a == b' and so on.
This provides some sort of flexibility and robustness to
probe point definitions against minor code changes.
(for example, actual 10th line of schedule() can be changed
easily by modifying schedule(), but the same line matching
'rq=cpu_rq*' may still exist.)
Changes in v3:
- Cast Dwarf_Addr to uintmax_t for printf-formats.
Changes in v2:
- Cast Dwarf_Addr to unsigned long long for printf-formats.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
LKML-Reference: <20100225133611.6725.45078.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-02-25 17:49:30 +01:00
5c8d1cbbbe
perf probe: Show more lines after last line
...
Show 2 more lines after the last probe-able line.
This will clearly show the last closed-brace of
inline functions.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Mike Galbraith <efault@gmx.de >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
LKML-Reference: <20100225133604.6725.76820.stgit@localhost6.localdomain6 >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-02-25 17:49:30 +01:00
388c3aab5d
perf probe: Init struct probe_point and set counter correctly
...
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 <mhiramat@redhat.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Mike Galbraith <efault@gmx.de >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
LKML-Reference: <20100218181652.26547.57790.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-02-22 11:42:27 +01:00
631c9def80
perf probe: Support --line option to show probable source-code lines
...
Add --line option to support showing probable source-code lines.
perf probe --line SRC:LN[-LN|+NUM]
or
perf probe --line FUNC[:LN[-LN|+NUM]]
This option shows source-code with line number if the line can
be probed. Lines without line number (and blue color) means that
the line can not be probed, because debuginfo doesn't have the
information of those lines.
The argument specifies the range of lines, "source.c:100-120"
shows lines between 100th to l20th in source.c file. And
"func:10+20" shows 20 lines from 10th line of func function.
e.g.
# ./perf probe --line kernel/sched.c:1080
<kernel/sched.c:1080>
*
* called with rq->lock held and irqs disabled
*/
static void hrtick_start(struct rq *rq, u64 delay)
{
struct hrtimer *timer = &rq->hrtick_timer;
1086 ktime_t time = ktime_add_ns(timer->base->get_time(), delay);
hrtimer_set_expires(timer, time);
1090 if (rq == this_rq()) {
1091 hrtimer_restart(timer);
1092 } else if (!rq->hrtick_csd_pending) {
1093 __smp_call_function_single(cpu_of(rq), &rq->hrtick_csd,
1094 rq->hrtick_csd_pending = 1;
If you specifying function name, this shows function-relative
line number.
# ./perf probe --line schedule
<schedule:0>
asmlinkage void __sched schedule(void)
1 {
struct task_struct *prev, *next;
unsigned long *switch_count;
struct rq *rq;
int cpu;
need_resched:
preempt_disable();
9 cpu = smp_processor_id();
10 rq = cpu_rq(cpu);
11 rcu_sched_qs(cpu);
12 prev = rq->curr;
13 switch_count = &prev->nivcsw;
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
LKML-Reference: <20100106144534.27218.77939.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-01-13 10:09:14 +01:00
72041334b8
perf probe: Show probe list in pager
...
Show probe list in pager, because the list can be longer than
a page.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Mike Galbraith <efault@gmx.de >
LKML-Reference: <20100105224710.19431.61542.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2010-01-13 10:09:13 +01:00
63bbd5e2d5
perf probe: Change CONFIG_KPROBE_TRACER to CONFIG_KPROBE_EVENT
...
make the config name consistent
Signed-off-by: Liming Wang <liming.wang@windriver.com >
Acked-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <peterz@infradead.org >
LKML-Reference: <1262075829-16257-3-git-send-email-liming.wang@windriver.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-30 11:59:34 +01:00
b7702a2136
perf probe: Check new event name
...
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 <mhiramat@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
LKML-Reference: <20091216222415.14459.71383.stgit@dhcp-100-2-132.bos.redhat.com >
[ v2: minor cleanups ]
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-17 09:42:44 +01:00
7ef17aafc9
perf probe: Fix to show which probe point is not found
...
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 <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153247.17436.49068.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:22:05 +01:00
d761b08bff
perf probe: Reject second attempt of adding same-name event
...
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 <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153225.17436.15166.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:22:04 +01:00
af663d75a6
perf probe: Support event name for --add option
...
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 <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153218.17436.84675.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:22:03 +01:00
bbbb521bc6
perf probe: Add glob matching support on --del
...
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 <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153210.17436.12327.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:22:03 +01:00
adf365f486
perf probe: Use strlist__for_each macros in probe-event.c
...
Use strlist__for_each macros instead of using strlist__entry()
and index variable.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153203.17436.52039.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:22:02 +01:00
3e3405906d
perf probe: Fix --del to update current event list
...
Fix --del option to update current existing event list
after perf probe deleted an event.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153149.17436.61265.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:22:01 +01:00
f6bbff7725
perf probe: Fix --del to show info instead of warning
...
Fix --del option to show info message instead of warning
if failing to find specified event.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153142.17436.7793.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:22:01 +01:00
7e990a5126
perf probe: Check the result of e_snprintf()
...
Fix show_perf_probe_event() to check the result of e_snprintf().
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153121.17436.34674.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:22:00 +01:00
fac13fd54e
perf probe: Cleanup struct session in builtin-probe.c
...
Clean up struct session in builtin-probe.c, including
change need_dwarf to bool and move listing flag into
struct session as list_events flag.
This also changes parse_perf_probe_event() interface
due to code readability.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091215153114.17436.77000.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-15 20:21:59 +01:00
5660ce3424
perf tools: Correct size given to memset
...
Memset should be given the size of the structure, not the size
of the pointer.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/ )
// <smpl>
@@
type T;
T *x;
expression E;
@@
memset(x, E, sizeof(
+ *
x))
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Paul Mackerras <paulus@samba.org >
LKML-Reference: <Pine.LNX.4.64.0912092026000.1870@ask.diku.dk >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-10 08:30:26 +01:00
fa28244d12
perf probe: Support --del option
...
Support perf probe --del <event> option. Currently,
perf probe can have only one event for each --del option.
If you'd like to delete several probe events, you need
to specify --del for each events.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
LKML-Reference: <20091208220323.10142.62079.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-09 07:26:53 +01:00
17f88fcd66
perf probe: Remove event suffix number _0
...
Remove event suffix number _0 if it is the first.
The first event has no suffix, and from the second,
each event has suffix number counted from _1. This
reduces typing cost :-).
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
LKML-Reference: <20091208220301.10142.50031.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-09 07:26:52 +01:00
a9b495b0d3
perf probe: Change probe-added message more user-friendly
...
Change probe-added message more user-friendly expression and
show usage of new events.
Before:
Added new event: p:probe/schedule_0 schedule+10 prev=%ax cpu=%bx
After:
Added new event:
probe:schedule_1 (on schedule+1 with prev cpu)
You can now use it on all perf tools, such as:
perf record -e probe:schedule_1 -a sleep 1
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
LKML-Reference: <20091208220247.10142.91642.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-09 07:26:51 +01:00