Fix exec instrumentation: only for kernels 3.4.0 and higher
[lttng-modules.git] / instrumentation / events / lttng-module / sched.h
index b68616e068111af4b67aa46ac91ef2fae4615ec9..ca46ed05cf7e4d4a52bff67b50fb1156e3e591f4 100644 (file)
@@ -313,6 +313,34 @@ TRACE_EVENT(sched_process_fork,
                __entry->child_comm, __entry->child_tid)
 )
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+/*
+ * 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)
+)
+#endif
+
 /*
  * XXX the below sched_stat tracepoints only apply to SCHED_OTHER/BATCH/IDLE
  *     adding sched_stat support to SCHED_FIFO/RR would be welcome.
This page took 0.023733 seconds and 4 git commands to generate.