Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e725c731 authored by Steven Rostedt (VMware)'s avatar Steven Rostedt (VMware)
Browse files

tracing: Split tracing initialization into two for early initialization



Create an early_trace_init() function that will initialize the buffers and
allow for ealier use of trace_printk(). This will also allow for future work
to have function tracing start earlier at boot up.

Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 97da3854
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -42,8 +42,10 @@
/* Main tracing buffer and events set up */
#ifdef CONFIG_TRACING
void trace_init(void);
void early_trace_init(void);
#else
static inline void trace_init(void) { }
static inline void early_trace_init(void) { }
#endif

struct module;
+4 −1
Original line number Diff line number Diff line
@@ -545,6 +545,9 @@ asmlinkage __visible void __init start_kernel(void)
	trap_init();
	mm_init();

	/* trace_printk can be enabled here */
	early_trace_init();

	/*
	 * Set up the scheduler prior starting any interrupts (such as the
	 * timer interrupt). Full topology setup happens at smp_init()
@@ -570,7 +573,7 @@ asmlinkage __visible void __init start_kernel(void)

	rcu_init();

	/* trace_printk() and trace points may be used after this */
	/* Trace events are available after this */
	trace_init();

	context_tracking_init();
+5 −1
Original line number Diff line number Diff line
@@ -7999,7 +7999,7 @@ __init static int tracer_alloc_buffers(void)
	return ret;
}

void __init trace_init(void)
void __init early_trace_init(void)
{
	if (tracepoint_printk) {
		tracepoint_print_iter =
@@ -8010,6 +8010,10 @@ void __init trace_init(void)
			static_key_enable(&tracepoint_printk_key.key);
	}
	tracer_alloc_buffers();
}

void __init trace_init(void)
{
	trace_event_init();
}