[lttng-dev] sched_process_exec

Woegerer, Paul Paul_Woegerer at mentor.com
Fri Oct 12 08:12:42 EDT 2012


On 10/11/2012 06:07 PM, Mathieu Desnoyers wrote:
> * Woegerer, Paul (Paul_Woegerer at mentor.com) wrote:
>> On 10/11/2012 04:58 PM, Mathieu Desnoyers wrote:
>>> A couple a details to fix before I can merge this patch though:
>>>
>>> Please also update instrumentation/events/mainline/sched.h to add the
>>> original mainline TRACE_EVENT, so we can keep the files in sync.
>>
>> Ok, reconfigured Thunderbird, removed semicolon, updated mainline:
> 
> Still an issue:
> 
> compudj at thinkos:~/work/lttng-modules$ patch -p1 < ~/.swp
> patching file instrumentation/events/lttng-module/sched.h
> patch: **** malformed patch at line 45: SCHED_OTHER/BATCH/IDLE

Now it should (hopefully) work:

>From b792323bca694f1e88144319befcdbfb30efa878 Mon Sep 17 00:00:00 2001
From: Paul Woegerer <paul_woegerer at mentor.com>
Date: Fri, 12 Oct 2012 12:52:19 +0200
Subject: [PATCH] Add TRACE_EVENT(sched_process_exec) to sched.h.

---
 instrumentation/events/lttng-module/sched.h |   26 ++++++++++++++++++++++++++
 instrumentation/events/mainline/sched.h     |   26 ++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/instrumentation/events/lttng-module/sched.h b/instrumentation/events/lttng-module/sched.h
index b68616e..23e4955 100644
--- a/instrumentation/events/lttng-module/sched.h
+++ b/instrumentation/events/lttng-module/sched.h
@@ -314,6 +314,32 @@ TRACE_EVENT(sched_process_fork,
 )
 
 /*
+ * Tracepoint for exec:
+ */
+TRACE_EVENT(sched_process_exec,
+
+	TP_PROTO(struct task_struct *p, pid_t old_pid,
+		 struct linux_binprm *bprm),
+
+	TP_ARGS(p, old_pid, bprm),
+
+	TP_STRUCT__entry(
+		__string(	filename,	bprm->filename	)
+		__field(	pid_t,		pid		)
+		__field(	pid_t,		old_pid		)
+	),
+
+	TP_fast_assign(
+		tp_strcpy(filename, bprm->filename)
+		tp_assign(pid, p->pid)
+		tp_assign(old_pid, old_pid)
+	),
+
+	TP_printk("filename=%s pid=%d old_pid=%d", __get_str(filename),
+		  __entry->pid, __entry->old_pid)
+)
+
+/*
  * XXX the below sched_stat tracepoints only apply to SCHED_OTHER/BATCH/IDLE
  *     adding sched_stat support to SCHED_FIFO/RR would be welcome.
  */
diff --git a/instrumentation/events/mainline/sched.h b/instrumentation/events/mainline/sched.h
index f633478..6700ecc 100644
--- a/instrumentation/events/mainline/sched.h
+++ b/instrumentation/events/mainline/sched.h
@@ -275,6 +275,32 @@ TRACE_EVENT(sched_process_fork,
 );
 
 /*
+ * Tracepoint for exec:
+ */
+TRACE_EVENT(sched_process_exec,
+
+	TP_PROTO(struct task_struct *p, pid_t old_pid,
+		 struct linux_binprm *bprm),
+
+	TP_ARGS(p, old_pid, bprm),
+
+	TP_STRUCT__entry(
+		__string(	filename,	bprm->filename	)
+		__field(	pid_t,		pid		)
+		__field(	pid_t,		old_pid		)
+	),
+
+	TP_fast_assign(
+		__assign_str(filename, bprm->filename);
+		__entry->pid		= p->pid;
+		__entry->old_pid	= old_pid;
+	),
+
+	TP_printk("filename=%s pid=%d old_pid=%d", __get_str(filename),
+		  __entry->pid, __entry->old_pid)
+);
+
+/*
  * XXX the below sched_stat tracepoints only apply to SCHED_OTHER/BATCH/IDLE
  *     adding sched_stat support to SCHED_FIFO/RR would be welcome.
  */
-- 
1.7.10.4




More information about the lttng-dev mailing list