Re: Testers needed for LTTng 0.6.0pre8

"Christopher Yeoh" <[email protected]>
Newsgroups gmane.linux.kernel.tracing
Message-ID <[email protected]>
Hi Mathieu,

At 2006/10/1 11:19-0400  Mathieu Desnoyers writes:
> 
> Just to make sure, do a git-pull from the git tree, the following
> commit fixes a problem with probes built-in.
> 

I did a git pull this morning (1am Tuesday GMT time). I had to patch
it a little so it would build correctly without modules (I believe
this is the way you're meant to do the module init stuff these days -
I did check it still builds on x86 with modules) but it now builds,
boots and I'm getting trace files now on a Power 5 box.

The patch also includes some warning fixes and there was a missing
include in one of the powerpc arch files. 

Regards,

Chris
-- 
[email protected]
IBM OzLabs Linux Development Group, ADL
Canberra, Australia
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index f87678c..35b148f 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -653,7 +653,7 @@ void timer_interrupt(struct pt_regs * re
 	int cpu = smp_processor_id();
 	unsigned long ticks;
 	
-	MARK(kernel_trap_entry, "%d %ld struct pt_regs %p", regs->trap,
+	MARK(kernel_trap_entry, "%ld %ld struct pt_regs %p", regs->trap,
 		instruction_pointer(regs), regs);
 
 #ifdef CONFIG_PPC32
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 347f554..7da5de0 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -175,7 +175,7 @@ void _exception(int signr, struct pt_reg
 			return;
 	}
 
-	MARK(kernel_trap_entry, "%d %ld struct pt_regs %p", regs->trap,
+	MARK(kernel_trap_entry, "%ld %ld struct pt_regs %p", regs->trap,
 		instruction_pointer(regs), regs);
 
 	memset(&info, 0, sizeof(info));
@@ -887,7 +887,7 @@ #endif
 
 void performance_monitor_exception(struct pt_regs *regs)
 {
-	MARK(kernel_trap_entry, "%d %ld struct pt_regs %p", regs->trap,
+	MARK(kernel_trap_entry, "%ld %ld struct pt_regs %p", regs->trap,
 		instruction_pointer(regs), regs);
 	perf_irq(regs);
 	MARK(kernel_trap_exit, MARK_NOARGS);
@@ -973,7 +973,7 @@ void altivec_assist_exception(struct pt_
 		return;
 	}
 
-	MARK(kernel_trap_entry, "%d %ld struct pt_regs %p", regs->trap,
+	MARK(kernel_trap_entry, "%ld %ld struct pt_regs %p", regs->trap,
 		instruction_pointer(regs), regs);
 
 	if (err == -EFAULT) {
diff --git a/fs/select.c b/fs/select.c
diff --git a/include/asm-powerpc/ltt/ltt-facility-kernel_arch_powerpc.h b/include/asm-powerpc/ltt/ltt-facility-kernel_arch_powerpc.h
index 8e8c290..c41ad9c 100644
--- a/include/asm-powerpc/ltt/ltt-facility-kernel_arch_powerpc.h
+++ b/include/asm-powerpc/ltt/ltt-facility-kernel_arch_powerpc.h
@@ -4,6 +4,7 @@ #define _LTT_FACILITY_KERNEL_ARCH_H_
 #include <linux/types.h>
 #include <asm/ltt/ltt-facility-id-kernel_arch_powerpc.h>
 #include <linux/ltt-core.h>
+#include <ltt/ltt-tracer.h>
 
 /* Named types */
 
diff --git a/ltt/probes/ltt-probe-fs.c b/ltt/probes/ltt-probe-fs.c
index d152e04..302aaf0 100644
--- a/ltt/probes/ltt-probe-fs.c
+++ b/ltt/probes/ltt-probe-fs.c
@@ -378,7 +378,7 @@ void probe_fs_select(const char *format,
 	va_end(ap);
 }
 
-int init_module(void)
+static int __init probe_init(void)
 {
 	int result;
 	result = marker_set_probe("fs_close",
@@ -462,16 +462,15 @@ cleanup:
 	return -EPERM;
 }
 
-void cleanup_module(void)
+static void __exit probe_fini(void)
 {
 	marker_remove_probe(probe_fs_buffer_wait_start);
 	marker_remove_probe(probe_fs_open);
 }
 
 
-#ifndef MODULE
-__initcall(init_module);
-#endif
+module_init(probe_init);
+module_exit(probe_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
diff --git a/ltt/probes/ltt-probe-ipc.c b/ltt/probes/ltt-probe-ipc.c
index a2b78e8..826c550 100644
--- a/ltt/probes/ltt-probe-ipc.c
+++ b/ltt/probes/ltt-probe-ipc.c
@@ -71,7 +71,7 @@ void probe_ipc_shm_create(const char *fo
 }
 
 
-int init_module(void)
+static int __init probe_init(void)
 {
 	int result;
 	result = marker_set_probe("ipc_msg_create",
@@ -96,7 +96,7 @@ cleanup:
 	return -EPERM;
 }
 
-void cleanup_module(void)
+static void __exit probe_fini(void)
 {
 	marker_remove_probe(probe_ipc_msg_create);
 	marker_remove_probe(probe_ipc_sem_create);
@@ -104,9 +104,8 @@ void cleanup_module(void)
 }
 
 
-#ifndef MODULE
-__initcall(init_module);
-#endif
+module_init(probe_init);
+module_exit(probe_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
diff --git a/ltt/probes/ltt-probe-kernel.c b/ltt/probes/ltt-probe-kernel.c
index defae1b..47188ad 100644
--- a/ltt/probes/ltt-probe-kernel.c
+++ b/ltt/probes/ltt-probe-kernel.c
@@ -595,7 +595,7 @@ void probe_kernel_irq_exit(const char *f
 	trace_kernel_irq_exit();
 }
 
-int init_module(void)
+static int __init probe_init(void)
 {
 	int result;
 	result = marker_set_probe("kernel_thread_create",
@@ -755,7 +755,7 @@ cleanup:
 	return -EPERM;
 }
 
-void cleanup_module(void)
+static void __exit probe_fini(void)
 {
 	marker_remove_probe(probe_kernel_thread_create);
 	marker_remove_probe(probe_kernel_sched_try_wakeup);
@@ -790,9 +790,8 @@ void cleanup_module(void)
 }
 
 
-#ifndef MODULE
-__initcall(init_module);
-#endif
+module_init(probe_init);
+module_exit(probe_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
diff --git a/ltt/probes/ltt-probe-list.c b/ltt/probes/ltt-probe-list.c
index 748a7f0..4360586 100644
--- a/ltt/probes/ltt-probe-list.c
+++ b/ltt/probes/ltt-probe-list.c
@@ -34,7 +34,7 @@ void probe_list_modules(const char *form
 	va_end(ap);
 }
 
-int init_module(void)
+static int __init probe_init(void)
 {
 	int result;
 	result = marker_set_probe("list_modules",
@@ -49,15 +49,14 @@ cleanup:
 	return -EPERM;
 }
 
-void cleanup_module(void)
+static void __exit probe_fini(void)
 {
 	marker_remove_probe(probe_list_modules);
 }
 
 
-#ifndef MODULE
-__initcall(init_module);
-#endif
+module_init(probe_init);
+module_exit(probe_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
diff --git a/ltt/probes/ltt-probe-mm.c b/ltt/probes/ltt-probe-mm.c
index 737bbac..d4d0355 100644
--- a/ltt/probes/ltt-probe-mm.c
+++ b/ltt/probes/ltt-probe-mm.c
@@ -119,7 +119,7 @@ void probe_mm_swap_out(const char *forma
 	va_end(ap);
 }
 
-int init_module(void)
+static int __init probe_init(void)
 {
 	int result;
 	result = marker_set_probe("mm_filemap_wait_start",
@@ -159,7 +159,7 @@ cleanup:
 	return -EPERM;
 }
 
-void cleanup_module(void)
+static void __exit probe_fini(void)
 {
 	marker_remove_probe(probe_mm_filemap_wait_start);
 	marker_remove_probe(probe_mm_filemap_wait_end);
@@ -170,9 +170,8 @@ void cleanup_module(void)
 }
 
 
-#ifndef MODULE
-__initcall(init_module);
-#endif
+module_init(probe_init);
+module_exit(probe_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
diff --git a/ltt/probes/ltt-probe-net.c b/ltt/probes/ltt-probe-net.c
index 222e2a7..c50bb96 100644
--- a/ltt/probes/ltt-probe-net.c
+++ b/ltt/probes/ltt-probe-net.c
@@ -167,7 +167,7 @@ void probe_net_del_ifa(const char *forma
 
 
 
-int init_module(void)
+static int __init probe_init(void)
 {
 	int result;
 	result = marker_set_probe("net_socket_sendmsg",
@@ -217,7 +217,7 @@ cleanup:
 	return -EPERM;
 }
 
-void cleanup_module(void)
+static void __exit probe_fini(void)
 {
 	marker_remove_probe(probe_net_socket_sendmsg);
 	marker_remove_probe(probe_net_socket_recvmsg);
@@ -229,10 +229,8 @@ void cleanup_module(void)
 	marker_remove_probe(probe_net_del_ifa);
 }
 
-
-#ifndef MODULE
-__initcall(init_module);
-#endif
+module_init(probe_init);
+module_exit(probe_fini);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Mathieu Desnoyers");
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.