Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [lttng-dev] sched_process_exec
@ 2012-10-11  9:24 Woegerer, Paul
  2012-10-11 14:58 ` Mathieu Desnoyers
  0 siblings, 1 reply; 6+ messages in thread
From: Woegerer, Paul @ 2012-10-11  9:24 UTC (permalink / raw)


Hi,

Is there a reason why instrumentation/events/lttng-module/sched.h does 
not include TRACE_EVENT(sched_process_exec) ?

The patch below adds the missing tracepoint definition (tested with 
kernel 3.4.6-2.10).

diff --git a/instrumentation/events/lttng-module/sched.h 
b/instrumentation/events/lttng-module/sched.h
index b68616e..ef791ac 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.
   */

-- 
Paul Woegerer | SW Development Engineer
http://go.mentor.com/sourceryanalyzer

Mentor Embedded(tm) | Prinz Eugen Stra?e 72/2/4, Vienna, 1040 Austria
Nucleus? | Linux? | Android(tm) | Services | UI | Multi-OS

Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] sched_process_exec
  2012-10-11  9:24 [lttng-dev] sched_process_exec Woegerer, Paul
@ 2012-10-11 14:58 ` Mathieu Desnoyers
  2012-10-11 15:28   ` Woegerer, Paul
  0 siblings, 1 reply; 6+ messages in thread
From: Mathieu Desnoyers @ 2012-10-11 14:58 UTC (permalink / raw)


* Woegerer, Paul (Paul_Woegerer at mentor.com) wrote:
> Hi,
>
> Is there a reason why instrumentation/events/lttng-module/sched.h does  
> not include TRACE_EVENT(sched_process_exec) ?
>
> The patch below adds the missing tracepoint definition (tested with  
> kernel 3.4.6-2.10).

Hi Paul,

The only reason is because it appeared in a later kernel than the one
used when generating the lttng-modules trace event instrumentation.

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.

>
> diff --git a/instrumentation/events/lttng-module/sched.h  
> b/instrumentation/events/lttng-module/sched.h
> index b68616e..ef791ac 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);

Please remove the ";" above.

> +               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

A newline has been added by your mail client, which causes the patch to
not apply correctly.

Hints on how to configure mail clients for sending patches can be looked
up in the Linux kernel tree, under Documentation/email-clients.txt

Thanks!

Mathieu

>   *     adding sched_stat support to SCHED_FIFO/RR would be welcome.
>   */
>
> -- 
> Paul Woegerer | SW Development Engineer
> http://go.mentor.com/sourceryanalyzer
>
> Mentor Embedded(tm) | Prinz Eugen Stra?e 72/2/4, Vienna, 1040 Austria
> Nucleus? | Linux? | Android(tm) | Services | UI | Multi-OS
>
> Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
> Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev


-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] sched_process_exec
  2012-10-11 14:58 ` Mathieu Desnoyers
@ 2012-10-11 15:28   ` Woegerer, Paul
  2012-10-11 16:07     ` Mathieu Desnoyers
  0 siblings, 1 reply; 6+ messages in thread
From: Woegerer, Paul @ 2012-10-11 15:28 UTC (permalink / raw)


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:

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.
  */




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] sched_process_exec
  2012-10-11 15:28   ` Woegerer, Paul
@ 2012-10-11 16:07     ` Mathieu Desnoyers
  2012-10-12 12:12       ` Woegerer, Paul
  0 siblings, 1 reply; 6+ messages in thread
From: Mathieu Desnoyers @ 2012-10-11 16:07 UTC (permalink / raw)


* 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

it seems to be an issue with line-wrapping of your mail client.

Thanks,

Mathieu

> 
> 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.
>   */
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] sched_process_exec
  2012-10-11 16:07     ` Mathieu Desnoyers
@ 2012-10-12 12:12       ` Woegerer, Paul
  2012-10-12 14:20         ` Mathieu Desnoyers
  0 siblings, 1 reply; 6+ messages in thread
From: Woegerer, Paul @ 2012-10-12 12:12 UTC (permalink / raw)


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@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




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [lttng-dev] sched_process_exec
  2012-10-12 12:12       ` Woegerer, Paul
@ 2012-10-12 14:20         ` Mathieu Desnoyers
  0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Desnoyers @ 2012-10-12 14:20 UTC (permalink / raw)


* Woegerer, Paul (Paul_Woegerer at mentor.com) wrote:
> 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@mentor.com>
> Date: Fri, 12 Oct 2012 12:52:19 +0200
> Subject: [PATCH] Add TRACE_EVENT(sched_process_exec) to sched.h.

merged, thanks !

Mathieu

> 
> ---
>  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
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-10-12 14:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-11  9:24 [lttng-dev] sched_process_exec Woegerer, Paul
2012-10-11 14:58 ` Mathieu Desnoyers
2012-10-11 15:28   ` Woegerer, Paul
2012-10-11 16:07     ` Mathieu Desnoyers
2012-10-12 12:12       ` Woegerer, Paul
2012-10-12 14:20         ` Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox