[RFC][Patch 2/2] markers: example of irq regular kernel markers

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Masami Hiramatsu
Date: Friday, June 20, 2008 - 10:03 am

Add trace points of irq handle events ported from LTTng's markers.

Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
---
I just rewrote LTTng's irq event by using DEFINE_TRACE for example.

 include/linux/irq_trace.h |    6 ++++++
 kernel/irq/handle.c       |    6 ++++++
 2 files changed, 12 insertions(+)

Index: 2.6.26-rc5-mm3/include/linux/irq_trace.h
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ 2.6.26-rc5-mm3/include/linux/irq_trace.h	2008-06-16 12:27:51.000000000 -0400
@@ -0,0 +1,6 @@
+#include <linux/marker.h>
+
+DEFINE_TRACE(irq_entry, (int irq_id, int kernel_mode), irq_id, kernel_mode);
+
+DEFINE_TRACE(irq_exit, (void));
+
Index: 2.6.26-rc5-mm3/kernel/irq/handle.c
===================================================================
--- 2.6.26-rc5-mm3.orig/kernel/irq/handle.c	2008-06-16 12:27:50.000000000 -0400
+++ 2.6.26-rc5-mm3/kernel/irq/handle.c	2008-06-16 12:27:51.000000000 -0400
@@ -15,6 +15,7 @@
 #include <linux/random.h>
 #include <linux/interrupt.h>
 #include <linux/kernel_stat.h>
+#include <linux/irq_trace.h>

 #include "internals.h"

@@ -130,6 +131,9 @@ irqreturn_t handle_IRQ_event(unsigned in
 {
 	irqreturn_t ret, retval = IRQ_NONE;
 	unsigned int status = 0;
+	struct pt_regs *regs = get_irq_regs();
+
+	trace_irq_entry(irq, (regs)?(!user_mode(regs)):(1));

 	handle_dynamic_tick(action);

@@ -148,6 +152,8 @@ irqreturn_t handle_IRQ_event(unsigned in
 		add_interrupt_randomness(irq);
 	local_irq_disable();

+	trace_irq_exit();
+
 	return retval;
 }

-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][Patch 2/2] markers: example of irq regular kernel ma ..., Masami Hiramatsu, (Fri Jun 20, 10:03 am)
Re: [RFC][Patch 2/2] markers: example of irq regular kerne ..., Mathieu Desnoyers, (Fri Jun 20, 10:45 am)
Re: [RFC][Patch 2/2] markers: example of irq regular kerne ..., Masami Hiramatsu, (Fri Jun 20, 12:34 pm)
Re: [RFC][Patch 2/2] markers: example of irq regular kerne ..., Frank Ch. Eigler, (Sat Jun 21, 11:02 am)
Re: [RFC][Patch 2/2] markers: example of irq regular kerne ..., Frank Ch. Eigler, (Sat Jun 21, 12:39 pm)
[RFC] Tracepoint proposal, Mathieu Desnoyers, (Sun Jun 22, 10:11 am)
Re: [RFC] Tracepoint proposal, Alexey Dobriyan, (Sun Jun 22, 10:59 am)
Re: [RFC] Tracepoint proposal, Mathieu Desnoyers, (Sun Jun 22, 11:27 am)
Re: [RFC] Tracepoint proposal, Alexey Dobriyan, (Mon Jun 23, 5:20 pm)
Re: [RFC] Tracepoint proposal, Masami Hiramatsu, (Mon Jun 23, 8:09 pm)
Re: [RFC] Tracepoint proposal, Masami Hiramatsu, (Mon Jun 23, 9:01 pm)
RE: [RFC] Tracepoint proposal, Takashi Nishiie, (Tue Jun 24, 12:15 am)
Re: [RFC] Tracepoint proposal, Frank Ch. Eigler, (Tue Jun 24, 4:55 am)
Re: [RFC] Tracepoint proposal, Masami Hiramatsu, (Tue Jun 24, 9:04 am)
Re: [RFC] Tracepoint proposal, KOSAKI Motohiro, (Tue Jun 24, 9:21 am)
Re: [RFC] Tracepoint proposal, Masami Hiramatsu, (Tue Jun 24, 10:01 am)
Re: [RFC] Tracepoint proposal, Mathieu Desnoyers, (Tue Jun 24, 10:46 am)
[RFC PATCH] Kernel Tracepoints, Mathieu Desnoyers, (Wed Jun 25, 4:52 pm)
[RFC PATCH] Tracepoint sched probes, Mathieu Desnoyers, (Wed Jun 25, 4:55 pm)
Re: [RFC PATCH] Kernel Tracepoints, Masami Hiramatsu, (Thu Jun 26, 2:02 pm)
Re: [RFC PATCH] Kernel Tracepoints, Mathieu Desnoyers, (Fri Jun 27, 6:14 am)
Re: [RFC PATCH] Kernel Tracepoints, Mathieu Desnoyers, (Fri Jun 27, 6:15 am)
Re: [RFC PATCH] Kernel Tracepoints, Mathieu Desnoyers, (Fri Jun 27, 6:30 am)
Re: [RFC PATCH] Kernel Tracepoints (update), Mathieu Desnoyers, (Fri Jun 27, 6:36 am)
Re: [RFC PATCH] Kernel Tracepoints, Masami Hiramatsu, (Fri Jun 27, 1:58 pm)
Re: [RFC PATCH] Kernel Tracepoints, Masami Hiramatsu, (Fri Jun 27, 3:45 pm)
Re: [RFC PATCH] Kernel Tracepoints, Mathieu Desnoyers, (Mon Jun 30, 8:40 am)
Re: [RFC PATCH] Kernel Tracepoints, Mathieu Desnoyers, (Mon Jun 30, 8:43 am)
Re: [RFC PATCH] Kernel Tracepoints, Masami Hiramatsu, (Mon Jun 30, 12:38 pm)
Re: [RFC PATCH] Kernel Tracepoints, Masami Hiramatsu, (Mon Jun 30, 12:58 pm)
Re: [RFC PATCH] Kernel Tracepoints, Mathieu Desnoyers, (Thu Jul 3, 8:12 am)
Re: [RFC PATCH] Kernel Tracepoints (update), Masami Hiramatsu, (Thu Jul 3, 8:27 am)
Re: [RFC PATCH] Kernel Tracepoints (update), Mathieu Desnoyers, (Thu Jul 3, 8:47 am)
Re: [RFC PATCH] Kernel Tracepoints (update), Mathieu Desnoyers, (Thu Jul 3, 11:18 am)
Re: [RFC PATCH] Kernel Tracepoints (update), Masami Hiramatsu, (Thu Jul 3, 11:46 am)
Re: [RFC PATCH] Kernel Tracepoints, Masami Hiramatsu, (Thu Jul 3, 11:51 am)