From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Theodore Tso <tytso@mit.edu>,
Arjan van de Ven <arjan@infradead.org>,
Pekka Paalanen <pq@iki.fi>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Jason Baron <jbaron@redhat.com>, Martin Bligh <mbligh@google.com>,
Mathieu Desnoyers <compudj@krystal.dyndns.org>,
"Frank Ch. Eigler" <fche@redhat.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Jens Axboe <jens.axboe@oracle.com>,
Masami Hiramatsu <mhiramat@redhat.com>,
Steven Rostedt <srostedt@redhat.com>
Subject: [PATCH 3/4][RFC] tracing: add schedule events to event trace
Date: Tue, 24 Feb 2009 14:33:47 -0500 [thread overview]
Message-ID: <20090224193451.229074103@goodmis.org> (raw)
In-Reply-To: 20090224193344.638329210@goodmis.org
[-- Attachment #1: 0003-tracing-add-schedule-events-to-event-trace.patch --]
[-- Type: text/plain, Size: 5614 bytes --]
From: Steven Rostedt <srostedt@redhat.com>
This patch changes the trace/sched.h to use the DECLARE_TRACE_FMT
such that they are automatically registered with the event tracer.
And it also adds the tracing sched headers to kernel/trace/events.c
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
include/trace/sched.h | 49 +------------------------
include/trace/sched_event_types.h | 74 +++++++++++++++++++++++++++++++++++++
kernel/trace/Makefile | 1 +
kernel/trace/events.c | 13 ++++++
4 files changed, 89 insertions(+), 48 deletions(-)
create mode 100644 include/trace/sched_event_types.h
create mode 100644 kernel/trace/events.c
diff --git a/include/trace/sched.h b/include/trace/sched.h
index 0d81098..4e372a1 100644
--- a/include/trace/sched.h
+++ b/include/trace/sched.h
@@ -4,53 +4,6 @@
#include <linux/sched.h>
#include <linux/tracepoint.h>
-DECLARE_TRACE(sched_kthread_stop,
- TPPROTO(struct task_struct *t),
- TPARGS(t));
-
-DECLARE_TRACE(sched_kthread_stop_ret,
- TPPROTO(int ret),
- TPARGS(ret));
-
-DECLARE_TRACE(sched_wait_task,
- TPPROTO(struct rq *rq, struct task_struct *p),
- TPARGS(rq, p));
-
-DECLARE_TRACE(sched_wakeup,
- TPPROTO(struct rq *rq, struct task_struct *p, int success),
- TPARGS(rq, p, success));
-
-DECLARE_TRACE(sched_wakeup_new,
- TPPROTO(struct rq *rq, struct task_struct *p, int success),
- TPARGS(rq, p, success));
-
-DECLARE_TRACE(sched_switch,
- TPPROTO(struct rq *rq, struct task_struct *prev,
- struct task_struct *next),
- TPARGS(rq, prev, next));
-
-DECLARE_TRACE(sched_migrate_task,
- TPPROTO(struct task_struct *p, int orig_cpu, int dest_cpu),
- TPARGS(p, orig_cpu, dest_cpu));
-
-DECLARE_TRACE(sched_process_free,
- TPPROTO(struct task_struct *p),
- TPARGS(p));
-
-DECLARE_TRACE(sched_process_exit,
- TPPROTO(struct task_struct *p),
- TPARGS(p));
-
-DECLARE_TRACE(sched_process_wait,
- TPPROTO(struct pid *pid),
- TPARGS(pid));
-
-DECLARE_TRACE(sched_process_fork,
- TPPROTO(struct task_struct *parent, struct task_struct *child),
- TPARGS(parent, child));
-
-DECLARE_TRACE(sched_signal_send,
- TPPROTO(int sig, struct task_struct *p),
- TPARGS(sig, p));
+#include <trace/sched_event_types.h>
#endif
diff --git a/include/trace/sched_event_types.h b/include/trace/sched_event_types.h
new file mode 100644
index 0000000..da81d4d
--- /dev/null
+++ b/include/trace/sched_event_types.h
@@ -0,0 +1,74 @@
+
+/* use <trace/sched.h> instead */
+#ifndef DECLARE_TRACE_FMT
+# error Do not include this file directly.
+# error Unless you know what you are doing.
+#endif
+
+DECLARE_TRACE_FMT(sched_kthread_stop,
+ TPPROTO(struct task_struct *t),
+ TPARGS(t),
+ "task %s:%d", TPARGS(t->comm, t->pid));
+
+DECLARE_TRACE_FMT(sched_kthread_stop_ret,
+ TPPROTO(int ret),
+ TPARGS(ret),
+ "ret=%d", TPARGS(ret));
+
+DECLARE_TRACE_FMT(sched_wait_task,
+ TPPROTO(struct rq *rq, struct task_struct *p),
+ TPARGS(rq, p),
+ "task %s:%d", TPARGS(p->comm, p->pid));
+
+DECLARE_TRACE_FMT(sched_wakeup,
+ TPPROTO(struct rq *rq, struct task_struct *p, int success),
+ TPARGS(rq, p, success),
+ "task %s:%d %s",
+ TPARGS(p->comm, p->pid, success?"succeeded":"failed"));
+
+DECLARE_TRACE_FMT(sched_wakeup_new,
+ TPPROTO(struct rq *rq, struct task_struct *p, int success),
+ TPARGS(rq, p, success),
+ "task %s:%d",
+ TPARGS(p->comm, p->pid, success?"succeeded":"failed"));
+
+DECLARE_TRACE_FMT(sched_switch,
+ TPPROTO(struct rq *rq, struct task_struct *prev,
+ struct task_struct *next),
+ TPARGS(rq, prev, next),
+ "task %s:%d ==> %s:%d", TPARGS(prev->comm, prev->pid,
+ next->comm, next->pid));
+
+DECLARE_TRACE_FMT(sched_migrate_task,
+ TPPROTO(struct task_struct *p, int orig_cpu, int dest_cpu),
+ TPARGS(p, orig_cpu, dest_cpu),
+ "task %s:%d from: %d to: %d",
+ TPARGS(p->comm, p->pid, orig_cpu, dest_cpu));
+
+DECLARE_TRACE_FMT(sched_process_free,
+ TPPROTO(struct task_struct *p),
+ TPARGS(p),
+ "task %s:%d", TPARGS(p->comm, p->pid));
+
+DECLARE_TRACE_FMT(sched_process_exit,
+ TPPROTO(struct task_struct *p),
+ TPARGS(p),
+ "task %s:%d", TPARGS(p->comm, p->pid));
+
+DECLARE_TRACE_FMT(sched_process_wait,
+ TPPROTO(struct pid *pid),
+ TPARGS(pid),
+ "pid %d", TPARGS(pid));
+
+DECLARE_TRACE_FMT(sched_process_fork,
+ TPPROTO(struct task_struct *parent, struct task_struct *child),
+ TPARGS(parent, child),
+ "parent %s:%d child %s:%d",
+ TPARGS(parent->comm, parent->pid,
+ child->comm, child->pid));
+
+DECLARE_TRACE_FMT(sched_signal_send,
+ TPPROTO(int sig, struct task_struct *p),
+ TPARGS(sig, p),
+ "sig: %d task %s:%d",
+ TPARGS(sig, p->comm, p->pid));
diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile
index c736356..664b6c0 100644
--- a/kernel/trace/Makefile
+++ b/kernel/trace/Makefile
@@ -39,5 +39,6 @@ obj-$(CONFIG_KMEMTRACE) += kmemtrace.o
obj-$(CONFIG_WORKQUEUE_TRACER) += trace_workqueue.o
obj-$(CONFIG_BLK_DEV_IO_TRACE) += blktrace.o
obj-$(CONFIG_EVENT_TRACER) += trace_events.o
+obj-$(CONFIG_EVENT_TRACER) += events.o
libftrace-y := ftrace.o
diff --git a/kernel/trace/events.c b/kernel/trace/events.c
new file mode 100644
index 0000000..38c89ee
--- /dev/null
+++ b/kernel/trace/events.c
@@ -0,0 +1,13 @@
+/*
+ * This is the place to register all trace points as events.
+ * Include the trace/<type>.h at the top.
+ * Include the trace/<type>_event_types.h at the bottom.
+ */
+
+/* trace/<type>.h here */
+#include <trace/sched.h>
+
+#include "trace_events.h"
+
+/* trace/<type>_event_types.h here */
+#include <trace/sched_event_types.h>
--
1.5.6.5
--
next prev parent reply other threads:[~2009-02-24 19:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-24 19:33 [PATCH 0/4][RFC] event tracer Steven Rostedt
2009-02-24 19:33 ` [PATCH 1/4][RFC] tracing: add event trace infrastructure Steven Rostedt
2009-02-24 19:42 ` Andrew Morton
2009-02-24 19:46 ` Ingo Molnar
2009-02-24 22:11 ` Steven Rostedt
2009-02-24 19:33 ` [PATCH 2/4][RFC] tracing: add DECLARE_TRACE_FMT to tracepoint.h Steven Rostedt
2009-02-24 19:33 ` Steven Rostedt [this message]
2009-02-24 19:33 ` [PATCH 4/4][RFC] tracing: make event directory structure Steven Rostedt
2009-02-24 19:39 ` [PATCH 0/4][RFC] event tracer Ingo Molnar
2009-02-24 19:42 ` Peter Zijlstra
2009-02-24 22:10 ` Steven Rostedt
2009-02-24 22:25 ` Masami Hiramatsu
2009-02-24 22:31 ` Steven Rostedt
2009-02-25 1:01 ` Mathieu Desnoyers
2009-02-25 1:15 ` Steven Rostedt
2009-02-25 1:46 ` Mathieu Desnoyers
2009-02-25 0:59 ` Mathieu Desnoyers
2009-02-25 2:10 ` Frank Ch. Eigler
2009-02-25 14:19 ` Jason Baron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090224193451.229074103@goodmis.org \
--to=rostedt@goodmis.org \
--cc=acme@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=compudj@krystal.dyndns.org \
--cc=fche@redhat.com \
--cc=fweisbec@gmail.com \
--cc=jbaron@redhat.com \
--cc=jens.axboe@oracle.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@google.com \
--cc=mhiramat@redhat.com \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=pq@iki.fi \
--cc=srostedt@redhat.com \
--cc=tglx@linutronix.de \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.