[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