Frederic Weisbecker
ed872d09ef
hw-breakpoints: Zeroe the breakpoint attrs on initialization
...
The perf attrs used to set up breakpoint parameters are often allocated
in the stack and not zeroed out before calling hw_breakpoint_init().
Handle it from this helper to avoid random attributes set by the stack.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Prasad <prasad@linux.vnet.ibm.com >
2009-12-07 07:04:33 +01:00
Frederic Weisbecker
c0dfb2feb6
perf: Remove the "event" callback from perf events
...
As it is not used anymore and has been superseded by overflow_handler.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: "K. Prasad" <prasad@linux.vnet.ibm.com >
2009-12-06 08:27:20 +01:00
Frederic Weisbecker
b326e9560a
hw-breakpoints: Use overflow handler instead of the event callback
...
struct perf_event::event callback was called when a breakpoint
triggers. But this is a rather opaque callback, pretty
tied-only to the breakpoint API and not really integrated into perf
as it triggers even when we don't overflow.
We prefer to use overflow_handler() as it fits into the perf events
rules, being called only when we overflow.
Reported-by: Peter Zijlstra <peterz@infradead.org >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: "K. Prasad" <prasad@linux.vnet.ibm.com >
2009-12-06 08:27:18 +01:00
Frederic Weisbecker
2f0993e0fb
hw-breakpoints: Drop callback and task parameters from modify helper
...
Drop the callback and task parameters from modify_user_hw_breakpoint().
For now we have no user that need to modify a breakpoint to the point
of changing its handler or its task context.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: "K. Prasad" <prasad@linux.vnet.ibm.com >
2009-12-06 08:27:17 +01:00
Frederic Weisbecker
9cef30815b
perf: Remove unused struct perf_event::event_callback
...
This field might result from an older manual rebasing mistake.
We don't use it.
Reported-by: Peter Zijlstra <peterz@infradead.org >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: "K. Prasad" <prasad@linux.vnet.ibm.com >
2009-12-06 08:27:15 +01:00
Frederic Weisbecker
189f202ed1
perf: Remove pointless union that wraps the hw breakpoint fields
...
It stands to anonymize a structure, but structures can already
anonymize by themselves.
Reported-by: Peter Zijlstra <peterz@infradead.org >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: "K. Prasad" <prasad@linux.vnet.ibm.com >
2009-12-06 08:26:52 +01:00
Frederic Weisbecker
ed54d0f980
hw-breakpoints: Add two reserved fields for future extensions
...
Add two reserved fields for future extensions in the hardware
breakpoints interface. Further needs may arise.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: "K. Prasad" <prasad@linux.vnet.ibm.com >
2009-12-06 07:54:00 +01:00
Ingo Molnar
26fb20d008
Merge branch 'perf/mce' into perf/core
...
Merge reason: It's ready for v2.6.33.
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-03 20:11:06 +01:00
Frederic Weisbecker
6b62fe019e
tracing/syscalls: Make syscall events print callbacks static
...
enter_syscall_print_##sname and exit_syscall_print_##sname don't
need to have a global scope. Make them static.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jason Baron <jbaron@redhat.com >
Cc: Lai Jiangshan <laijs@cn.fujitsu.com >
LKML-Reference: <1259734990-9034-1-git-send-regression-fweisbec@gmail.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-02 09:59:02 +01:00
Lai Jiangshan
3bbe84e9d3
trace_syscalls: Simplify syscall profile
...
use only one prof_sysenter_enable() instead of
prof_sysenter_enable_##sname()
use only one prof_sysenter_disable() instead of
prof_sysenter_disable_##sname()
use only one prof_sysexit_enable() instead of
prof_sysexit_enable_##sname()
use only one prof_sysexit_disable() instead of
prof_sysexit_disable_##sname()
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com >
Acked-by: Jason Baron <jbaron@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B14D2A1.8060304@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-01 17:33:30 +01:00
Lai Jiangshan
a1301da099
trace_syscalls: Remove duplicate init_enter_##sname()
...
use only one init_syscall_trace instead of
many init_enter_##sname()/init_exit_##sname()
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com >
Acked-by: Jason Baron <jbaron@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B14D29B.6090708@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-01 17:33:30 +01:00
Lai Jiangshan
c252f65793
trace_syscalls: Add syscall_nr field to struct syscall_metadata
...
Add syscall_nr field to struct syscall_metadata,
it helps us to get syscall number easier.
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com >
Acked-by: Jason Baron <jbaron@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B14D293.6090800@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-01 17:33:29 +01:00
Lai Jiangshan
fcc19438dd
trace_syscalls: Remove enter_id exit_id
...
use ->enter_event->id instead of ->enter_id
use ->exit_event->id instead of ->exit_id
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com >
Acked-by: Jason Baron <jbaron@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B14D288.7030001@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-01 17:33:29 +01:00
Lai Jiangshan
31c16b1334
trace_syscalls: Set event_enter_##sname->data to its metadata
...
Set event_enter_##sname->data to its metadata,
it makes codes simpler.
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com >
Acked-by: Jason Baron <jbaron@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B14D282.7050709@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-01 17:33:28 +01:00
Lai Jiangshan
bf56a4ea9f
trace_syscalls: Remove unused event_syscall_enter and event_syscall_exit
...
fix event_enter_##sname->event
fix event_exit_##sname->event
remove unused event_syscall_enter and event_syscall_exit
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com >
Acked-by: Jason Baron <jbaron@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B14D278.4090209@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-01 17:33:28 +01:00
Frederic Weisbecker
dd1853c3f4
hw-breakpoints: Use struct perf_event_attr to define kernel breakpoints
...
Kernel breakpoints are created using functions in which we pass
breakpoint parameters as individual variables: address, length
and type.
Although it fits well for x86, this just does not scale across
architectures that may support this api later as these may have
more or different needs. Pass in a perf_event_attr structure
instead because it is meant to evolve as much as possible into
a generic hardware breakpoint parameter structure.
Reported-by: K.Prasad <prasad@linux.vnet.ibm.com >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <1259294154-5197-2-git-send-regression-fweisbec@gmail.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-27 06:22:59 +01:00
Frederic Weisbecker
5fa10b28e5
hw-breakpoints: Use struct perf_event_attr to define user breakpoints
...
In-kernel user breakpoints are created using functions in which
we pass breakpoint parameters as individual variables: address,
length and type.
Although it fits well for x86, this just does not scale across
archictectures that may support this api later as these may have
more or different needs. Pass in a perf_event_attr structure
instead because it is meant to evolve as much as possible into
a generic hardware breakpoint parameter structure.
Reported-by: K.Prasad <prasad@linux.vnet.ibm.com >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <1259294154-5197-1-git-send-regression-fweisbec@gmail.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-27 06:22:58 +01:00
Masami Hiramatsu
ba005e1f41
tracepoint: Add signal loss events
...
Add signal_overflow_fail and signal_lose_info tracepoints
for signal-lost events.
Changes in v3:
- Add docbook style comments
Changes in v2:
- Use siginfo string macro
Suggested-by: Roland McGrath <roland@redhat.com >
Reviewed-by: Jason Baron <jbaron@redhat.com >
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Acked-by: Roland McGrath <roland@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Oleg Nesterov <oleg@redhat.com >
LKML-Reference: <20091124215658.30449.9934.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-26 10:55:38 +01:00
Masami Hiramatsu
f9d4257e01
tracepoint: Add signal deliver event
...
Add a tracepoint where a process gets a signal. This tracepoint
shows signal-number, sa-handler and sa-flag.
Changes in v3:
- Add docbook style comments
Changes in v2:
- Add siginfo argument
- Fix comment
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Reviewed-by: Jason Baron <jbaron@redhat.com >
Acked-by: Roland McGrath <roland@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Oleg Nesterov <oleg@redhat.com >
LKML-Reference: <20091124215651.30449.20926.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-26 10:55:38 +01:00
Masami Hiramatsu
d1eb650ff4
tracepoint: Move signal sending tracepoint to events/signal.h
...
Move signal sending event to events/signal.h. This patch also
renames sched_signal_send event to signal_generate.
Changes in v4:
- Fix a typo of task_struct pointer.
Changes in v3:
- Add docbook style comments
Changes in v2:
- Add siginfo argument
- Add siginfo storing macro
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Reviewed-by: Jason Baron <jbaron@redhat.com >
Acked-by: Roland McGrath <roland@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Oleg Nesterov <oleg@redhat.com >
LKML-Reference: <20091124215645.30449.60208.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-26 10:55:37 +01:00
Li Zefan
470dda7417
tracing: Restore original format of sched events
...
The original format for sched_stat_iowait and sched_stat_sleep:
$ cat events/sched/sched_stat_iowait/format
...
print fmt: "comm=%s pid=%d delay=%Lu [ns]", ...
$ cat events/sched/sched_stat_sleep/format
...
print fmt: "comm=%s pid=%d delay=%Lu [ns]", ...
But commit commit 75ec29ab84
("tracing: Convert some sched trace events to DEFINE_EVENT and
_PRINT") broke the format:
$ cat events/sched/sched_stat_iowait/format
print fmt: "task: %s:%d iowait: %Lu [ns]", ...
$ cat events/sched/sched_stat_sleep/format
print fmt: "task: %s:%d sleep: %Lu [ns]", ...
No change in functionality.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B0E2951.9050800@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-26 09:14:05 +01:00
Li Zefan
b5eb34c359
tracing: Convert some ext4 events to DEFINE_TRACE
...
Use DECLARE_EVENT_CLASS to remove duplicate code:
text data bss dec hex filename
294695 6104 340 301139 49853 fs/ext4/ext4.o.old
289983 6104 324 296411 485db fs/ext4/ext4.o
5 events are convertd:
ext4__write_begin: ext4_write_begin, ext4_da_write_begin
ext4__write_end: ext4_{ordered, writeback, journalled}_write_end
No change in functionality.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Cc: Theodore Ts'o <tytso@mit.edu >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B0E2938.2040708@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-26 09:14:05 +01:00
Li Zefan
071688f36e
tracing: Convert some jbd2 events to DEFINE_EVENT
...
Use DECLARE_EVENT_CLASS to remove duplicate code:
text data bss dec hex filename
34903 1693 448 37044 90b4 fs/jbd2/journal.o.old
31931 1693 416 34040 84f8 fs/jbd2/journal.o
Four events are converted:
jbd2_commit: jbd2_start_commit,
jbd2_commit_{locking, flushing, logging}
No change in functionality.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Cc: Theodore Ts'o <tytso@mit.edu >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B0E290F.7030909@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-26 09:14:04 +01:00
Li Zefan
77ca1e0294
tracing: Convert some block events to DEFINE_EVENT
...
use DECLARE_EVENT_CLASS to remove duplicate code:
text data bss dec hex filename
53570 3284 184 57038 dece block/blk-core.o.old
43702 3284 144 47130 b81a block/blk-core.o
12 events are converted:
block_rq: block_rq_insert, block_rq_issue
block_rq_with_error: block_rq_{abort, requeue, complete}
block_bio: block_bio_{backmerge, frontmerge, queue}
block_get_rq: block_getrq, block_sleeprq
block_unplug: block_unplug_timer, block_unplug_io
No change in functionality.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Cc: Jens Axboe <jens.axboe@oracle.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <4B0E28E6.7060609@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-26 09:14:04 +01:00
Li Zefan
7703466b4c
tracing: Convert some power events to DEFINE_EVENT
...
Use DECLARE_EVENT_CLASS to remove duplicate code:
text data bss dec hex filename
4312 524 12 4848 12f0 kernel/trace/power-traces.o.old
3455 524 8 3987 f93 kernel/trace/power-traces.o
Two events are converted:
power: power_start, power_frequency
No change in functionality.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Arjan van de Ven <arjan@infradead.org >
LKML-Reference: <4B0E28C2.1090906@cn.fujitsu.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-26 09:14:03 +01:00