Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 3760

kernel-2.6.18-194.11.1.el5.src.rpm

From: Jason Baron <jbaron@redhat.com>
Date: Thu, 26 Mar 2009 22:09:53 -0400
Subject: [trace] remove kernel-trace.c
Message-id: 200903270209.n2R29rPs029022@ns3.rdu.redhat.com
O-Subject: [RHEL 5.4 PATCH 02/10] -remove kernel-trace.c.
Bugzilla: 465543

Since Systemtap now supports tracepoints directly, we no longer need the marker translation layer. Remove it.

diff --git a/init/Kconfig b/init/Kconfig
index cac65e2..ee0f018 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -426,14 +426,6 @@ config MARKERS
 	  Place an empty function call at each marker site. Can be
 	  dynamically changed for a probe function.
 
-config TRACEPROBES
-	tristate "Compile generic tracing probes"
-	depends on MARKERS && TRACEPOINTS
-	help
-	  Compile generic tracing probes, which connect to the tracepoints when
-	  loaded and format the information collected by the tracepoints with
-	  the Markers.
-
 endmenu		# General setup
 
 config RT_MUTEXES
diff --git a/kernel/Makefile b/kernel/Makefile
index 14b5772..f1c92c2 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -54,7 +54,6 @@ obj-$(CONFIG_TRACEPOINTS) += tracepoint.o
 obj-$(CONFIG_UTRACE) += utrace.o
 obj-$(CONFIG_PTRACE) += ptrace.o
 obj-$(CONFIG_MARKERS) += marker.o
-obj-$(CONFIG_TRACEPROBES) += kernel-trace.o
 
 ifneq ($(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER),y)
 # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
diff --git a/kernel/kernel-trace.c b/kernel/kernel-trace.c
deleted file mode 100644
index 9b211f8..0000000
--- a/kernel/kernel-trace.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * kernel/kernel-trace.c
- *
- * kernel tracepoint probes.
- */
-
-#include <linux/autoconf.h>
-#include <linux/module.h>
-#include <trace/sched.h>
-#include <trace/irq.h>
-
-static void probe_irq_entry(unsigned int id, struct pt_regs *regs)
-{
-	trace_mark(kernel_irq_entry, "irq_id %u kernel_mode %u", id,
-		(regs)?(!user_mode(regs)):(1));
-}
-
-static void probe_irq_exit(unsigned int id, irqreturn_t retval)
-{
-	trace_mark(kernel_irq_exit, "irq_id %u retval %ld", id, (long)retval);
-}
-
-static void probe_activate_task(struct task_struct *p, struct rq *rq)
-{
-	trace_mark(kernel_activate_task, "pid %d state %ld cpu_id %u",
-		p->pid, p->state, task_cpu(p));
-}
-
-static void probe_deactivate_task(struct task_struct *p, struct rq *rq)
-{
-	trace_mark(kernel_deactivate_task, "pid %d state %ld cpu_id %u",
-		p->pid, p->state, task_cpu(p));
-}
-
-static void probe_sched_wakeup(struct rq *rq, struct task_struct *p)
-{
-	trace_mark(kernel_sched_wakeup, "pid %d state %ld cpu_id %u",
-		p->pid, p->state, task_cpu(p));
-}
-
-static void probe_sched_wakeup_new(struct rq *rq, struct task_struct *p)
-{
-	trace_mark(kernel_sched_wakeup_new, "pid %d state %ld cpu_id %u",
-		p->pid, p->state, task_cpu(p));
-}
-
-static void probe_sched_switch(struct rq *rq, struct task_struct *prev,
-		struct task_struct *next)
-{
-	trace_mark(kernel_sched_switch,
-		"prev_pid %d next_pid %d prev_state %ld prev_prio %d "
-		"next_prio %d",
-		prev->pid, next->pid, prev->state, prev->prio, next->prio);
-}
-
-static void probe_softirq_entry(struct softirq_action *h,
-	struct softirq_action *softirq_vec)
-{
-	trace_mark(kernel_softirq_entry, "softirq_id %lu func %p",
-		((unsigned long)h - (unsigned long)softirq_vec) / sizeof(*h),
-		(void *)h->action);
-}
-
-static void probe_softirq_exit(struct softirq_action *h,
-	struct softirq_action *softirq_vec)
-{
-	trace_mark(kernel_softirq_exit, "softirq_id %lu",
-		((unsigned long)h - (unsigned long)softirq_vec) / sizeof(*h));
-}
-
-static void probe_tasklet_low_entry(struct tasklet_struct *t)
-{
-	trace_mark(kernel_tasklet_low_entry, "func %p data %lu",
-		t->func, t->data);
-}
-
-static void probe_tasklet_low_exit(struct tasklet_struct *t)
-{
-	trace_mark(kernel_tasklet_low_exit, "func %p data %lu",
-		t->func, t->data);
-}
-
-static void probe_tasklet_high_entry(struct tasklet_struct *t)
-{
-	trace_mark(kernel_tasklet_high_entry, "func %p data %lu",
-		t->func, t->data);
-}
-
-static void probe_tasklet_high_exit(struct tasklet_struct *t)
-{
-	trace_mark(kernel_tasklet_high_exit, "func %p data %lu",
-		t->func, t->data);
-}
-
-static void probe_process_free(struct task_struct *p)
-{
-	trace_mark(kernel_process_free, "pid %d", p->pid);
-}
-
-static void probe_process_exit(struct task_struct *p)
-{
-	trace_mark(kernel_process_exit, "pid %d", p->pid);
-}
-
-static void probe_process_wait(pid_t pid)
-{
-	trace_mark(kernel_process_wait, "pid %d", (int)pid);
-}
-
-static void probe_process_fork(struct task_struct *parent,
-		struct task_struct *child)
-{
-	trace_mark(kernel_process_fork,
-		"parent_pid %d child_pid %d child_tgid %d",
-		parent->pid, child->pid, child->tgid);
-}
-
-int __init kernel_trace_init(void)
-{
-	int ret;
-
-	ret = register_trace_irq_entry(probe_irq_entry);
-	WARN_ON(ret);
-	ret = register_trace_irq_exit(probe_irq_exit);
-	WARN_ON(ret);
-	ret = register_trace_activate_task(
-		probe_activate_task);
-	WARN_ON(ret);
-	ret = register_trace_deactivate_task(
-		probe_deactivate_task);
-	WARN_ON(ret);
-	ret = register_trace_sched_wakeup(
-		probe_sched_wakeup);
-	WARN_ON(ret);
-	ret = register_trace_sched_wakeup_new(
-		probe_sched_wakeup_new);
-	WARN_ON(ret);
-	ret = register_trace_sched_switch(
-		probe_sched_switch);
-	WARN_ON(ret);
-	ret = register_trace_irq_softirq_entry(probe_softirq_entry);
-	WARN_ON(ret);
-	ret = register_trace_irq_softirq_exit(probe_softirq_exit);
-	WARN_ON(ret);
-	ret = register_trace_irq_tasklet_low_entry(
-		probe_tasklet_low_entry);
-	WARN_ON(ret);
-	ret = register_trace_irq_tasklet_low_exit(
-		probe_tasklet_low_exit);
-	WARN_ON(ret);
-	ret = register_trace_irq_tasklet_high_entry(
-		probe_tasklet_high_entry);
-	WARN_ON(ret);
-	ret = register_trace_irq_tasklet_high_exit(
-		probe_tasklet_high_exit);
-	WARN_ON(ret);
-	ret = register_trace_sched_process_free(probe_process_free);
-	WARN_ON(ret);
-	ret = register_trace_sched_process_exit(probe_process_exit);
-	WARN_ON(ret);
-	ret = register_trace_sched_process_wait(probe_process_wait);
-	WARN_ON(ret);
-	ret = register_trace_sched_process_fork(probe_process_fork);
-	WARN_ON(ret);
-
-	return 0;
-}
-
-module_init(kernel_trace_init);
-
-void __exit kernel_trace_exit(void)
-{
-	unregister_trace_sched_process_fork(probe_process_fork);
-	unregister_trace_sched_process_wait(probe_process_wait);
-	unregister_trace_sched_process_exit(probe_process_exit);
-	unregister_trace_sched_process_free(probe_process_free);
-	unregister_trace_irq_tasklet_high_exit(
-		probe_tasklet_high_exit);
-	unregister_trace_irq_tasklet_high_entry(
-		probe_tasklet_high_entry);
-	unregister_trace_irq_tasklet_low_exit(
-		probe_tasklet_low_exit);
-	unregister_trace_irq_tasklet_low_entry(
-		probe_tasklet_low_entry);
-	unregister_trace_irq_softirq_exit(probe_softirq_exit);
-	unregister_trace_irq_softirq_entry(probe_softirq_entry);
-	unregister_trace_sched_switch(probe_sched_switch);
-	unregister_trace_sched_wakeup_new(
-		probe_sched_wakeup_new);
-	unregister_trace_sched_wakeup(
-		probe_sched_wakeup);
-	unregister_trace_deactivate_task(probe_deactivate_task);
-	unregister_trace_activate_task(probe_activate_task);
-	unregister_trace_irq_exit(probe_irq_exit);
-	unregister_trace_irq_entry(probe_irq_entry);
-}
-
-module_exit(kernel_trace_exit);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Mathieu Desnoyers");
-MODULE_DESCRIPTION("kernel Tracepoint Probes");