All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: [PATCH 02/19] tracing: Allow tracers to start at core initcall
Date: Fri, 02 Nov 2012 14:13:33 -0400	[thread overview]
Message-ID: <20121102181430.139202620@goodmis.org> (raw)
In-Reply-To: 20121102181331.513782854@goodmis.org

[-- Attachment #1: Type: text/plain, Size: 3829 bytes --]

From: Steven Rostedt <srostedt@redhat.com>

There's times during debugging that it is helpful to see traces of early
boot functions. But the tracers are initialized at device_initcall()
which is quite late during the boot process. Setting the kernel command
line parameter ftrace=function will not show anything until the function
tracer is initialized. This prevents being able to trace functions before
device_initcall().

There's no reason that the tracers need to be initialized so late in the
boot process. Move them up to core_initcall() as they still need to come
after early_initcall() which initializes the tracing buffers.

Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/trace/ftrace.c                |    4 ++--
 kernel/trace/trace_branch.c          |    2 +-
 kernel/trace/trace_functions.c       |    3 +--
 kernel/trace/trace_functions_graph.c |    2 +-
 kernel/trace/trace_irqsoff.c         |    2 +-
 kernel/trace/trace_sched_wakeup.c    |    2 +-
 6 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 60ad606..4451aa3 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -2868,7 +2868,7 @@ static int __init ftrace_mod_cmd_init(void)
 {
 	return register_ftrace_command(&ftrace_mod_cmd);
 }
-device_initcall(ftrace_mod_cmd_init);
+core_initcall(ftrace_mod_cmd_init);
 
 static void function_trace_probe_call(unsigned long ip, unsigned long parent_ip,
 				      struct ftrace_ops *op, struct pt_regs *pt_regs)
@@ -4055,7 +4055,7 @@ static int __init ftrace_nodyn_init(void)
 	ftrace_enabled = 1;
 	return 0;
 }
-device_initcall(ftrace_nodyn_init);
+core_initcall(ftrace_nodyn_init);
 
 static inline int ftrace_init_dyn_debugfs(struct dentry *d_tracer) { return 0; }
 static inline void ftrace_startup_enable(int command) { }
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
index 8d3538b..bd3e0ee 100644
--- a/kernel/trace/trace_branch.c
+++ b/kernel/trace/trace_branch.c
@@ -199,7 +199,7 @@ __init static int init_branch_tracer(void)
 	}
 	return register_tracer(&branch_trace);
 }
-device_initcall(init_branch_tracer);
+core_initcall(init_branch_tracer);
 
 #else
 static inline
diff --git a/kernel/trace/trace_functions.c b/kernel/trace/trace_functions.c
index 618dcf8..bb227e3 100644
--- a/kernel/trace/trace_functions.c
+++ b/kernel/trace/trace_functions.c
@@ -411,5 +411,4 @@ static __init int init_function_trace(void)
 	init_func_cmd_traceon();
 	return register_tracer(&function_trace);
 }
-device_initcall(init_function_trace);
-
+core_initcall(init_function_trace);
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
index 99b4378..a84b558 100644
--- a/kernel/trace/trace_functions_graph.c
+++ b/kernel/trace/trace_functions_graph.c
@@ -1474,4 +1474,4 @@ static __init int init_graph_trace(void)
 	return register_tracer(&graph_trace);
 }
 
-device_initcall(init_graph_trace);
+core_initcall(init_graph_trace);
diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c
index d98ee82..11edebd 100644
--- a/kernel/trace/trace_irqsoff.c
+++ b/kernel/trace/trace_irqsoff.c
@@ -698,4 +698,4 @@ __init static int init_irqsoff_tracer(void)
 
 	return 0;
 }
-device_initcall(init_irqsoff_tracer);
+core_initcall(init_irqsoff_tracer);
diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
index 02170c0..2f6af78 100644
--- a/kernel/trace/trace_sched_wakeup.c
+++ b/kernel/trace/trace_sched_wakeup.c
@@ -637,4 +637,4 @@ __init static int init_wakeup_tracer(void)
 
 	return 0;
 }
-device_initcall(init_wakeup_tracer);
+core_initcall(init_wakeup_tracer);
-- 
1.7.10.4



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

  parent reply	other threads:[~2012-11-02 18:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-02 18:13 [PATCH 00/19] [GIT PULL][3.8] tracing: updates (v2) Steven Rostedt
2012-11-02 18:13 ` [PATCH 01/19] tracing: Replace strict_strto* with kstrto* Steven Rostedt
2012-11-02 18:13 ` Steven Rostedt [this message]
2012-11-02 18:13 ` [PATCH 03/19] tracing: Change tracers integer flags to bool Steven Rostedt
2012-11-02 18:13 ` [PATCH 04/19] ring-buffer: Add a dropped events counter Steven Rostedt
2012-11-02 18:13 ` [PATCH 05/19] tracing: Expand ring buffer when trace_printk() is used Steven Rostedt
2012-11-02 18:13 ` [PATCH 06/19] tracing: Enable comm recording if " Steven Rostedt
2012-11-02 18:13 ` [PATCH 07/19] tracing: Have tracing_sched_wakeup_trace() use standard unlock_commit Steven Rostedt
2012-11-02 18:13 ` [PATCH 08/19] tracing: Cache comms only after an event occurred Steven Rostedt
2012-11-02 18:13 ` [PATCH 09/19] tracing: Trivial cleanup Steven Rostedt
2012-11-02 18:13 ` [PATCH 10/19] tracing: Cleanup unnecessary function declarations Steven Rostedt
2012-11-02 18:13 ` [PATCH 11/19] linux/kernel.h: Remove duplicate trace_printk declaration Steven Rostedt
2012-11-02 18:13 ` [PATCH 12/19] tracing: Reset ring buffer when changing trace_clocks Steven Rostedt
2012-11-02 18:13 ` [PATCH 13/19] ring-buffer: Change unsigned long type of ring_buffer_oldest_event_ts() to u64 Steven Rostedt
2012-11-02 18:13 ` [PATCH 14/19] tracing: Separate open function from set_event and available_events Steven Rostedt
2012-11-02 18:13 ` [PATCH 15/19] tracing: Remove unused function unregister_tracer() Steven Rostedt
2012-11-02 18:13 ` [PATCH 16/19] tracing: Make tracing_enabled be equal to tracing_on Steven Rostedt
2012-11-02 18:13 ` [PATCH 17/19] tracing: Remove deprecated tracing_enabled file Steven Rostedt
2012-11-02 18:13 ` [PATCH 18/19] tracing: Use irq_work for wake ups and remove *_nowake_*() functions Steven Rostedt
2012-11-02 18:13 ` [PATCH 19/19] tracing: Add trace_options kernel command line parameter Steven Rostedt
2012-11-09 12:16 ` [PATCH 00/19] [GIT PULL][3.8] tracing: updates (v2) Steven Rostedt
2012-11-14  6:18   ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121102181430.139202620@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=akpm@linux-foundation.org \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.