init: Have initcall_debug still work without CONFIG_TRACEPOINTS
Add macros around the initcall_debug tracepoint code to have the code to default back to the old method if CONFIG_TRACEPOINTS is not enabled. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
4e37958d12
commit
b0dc52f15e
28
init/main.c
28
init/main.c
|
@ -496,7 +496,14 @@ void __init __weak mem_encrypt_init(void) { }
|
||||||
|
|
||||||
bool initcall_debug;
|
bool initcall_debug;
|
||||||
core_param(initcall_debug, initcall_debug, bool, 0644);
|
core_param(initcall_debug, initcall_debug, bool, 0644);
|
||||||
|
|
||||||
|
#ifdef TRACEPOINTS_ENABLED
|
||||||
static void __init initcall_debug_enable(void);
|
static void __init initcall_debug_enable(void);
|
||||||
|
#else
|
||||||
|
static inline void initcall_debug_enable(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up kernel memory allocators
|
* Set up kernel memory allocators
|
||||||
|
@ -832,6 +839,7 @@ trace_initcall_finish_cb(void *data, initcall_t fn, int ret)
|
||||||
|
|
||||||
static ktime_t initcall_calltime;
|
static ktime_t initcall_calltime;
|
||||||
|
|
||||||
|
#ifdef TRACEPOINTS_ENABLED
|
||||||
static void __init initcall_debug_enable(void)
|
static void __init initcall_debug_enable(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -842,6 +850,22 @@ static void __init initcall_debug_enable(void)
|
||||||
&initcall_calltime);
|
&initcall_calltime);
|
||||||
WARN(ret, "Failed to register initcall tracepoints\n");
|
WARN(ret, "Failed to register initcall tracepoints\n");
|
||||||
}
|
}
|
||||||
|
# define do_trace_initcall_start trace_initcall_start
|
||||||
|
# define do_trace_initcall_finish trace_initcall_finish
|
||||||
|
#else
|
||||||
|
static inline void do_trace_initcall_start(initcall_t fn)
|
||||||
|
{
|
||||||
|
if (!initcall_debug)
|
||||||
|
return;
|
||||||
|
trace_initcall_start_cb(&initcall_calltime, fn);
|
||||||
|
}
|
||||||
|
static inline void do_trace_initcall_finish(initcall_t fn, int ret)
|
||||||
|
{
|
||||||
|
if (!initcall_debug)
|
||||||
|
return;
|
||||||
|
trace_initcall_finish_cb(&initcall_calltime, fn, ret);
|
||||||
|
}
|
||||||
|
#endif /* !TRACEPOINTS_ENABLED */
|
||||||
|
|
||||||
int __init_or_module do_one_initcall(initcall_t fn)
|
int __init_or_module do_one_initcall(initcall_t fn)
|
||||||
{
|
{
|
||||||
|
@ -852,9 +876,9 @@ int __init_or_module do_one_initcall(initcall_t fn)
|
||||||
if (initcall_blacklisted(fn))
|
if (initcall_blacklisted(fn))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
||||||
trace_initcall_start(fn);
|
do_trace_initcall_start(fn);
|
||||||
ret = fn();
|
ret = fn();
|
||||||
trace_initcall_finish(fn, ret);
|
do_trace_initcall_finish(fn, ret);
|
||||||
|
|
||||||
msgbuf[0] = 0;
|
msgbuf[0] = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue