Commit 58eacfff authored by Abderrahmane Benbachir's avatar Abderrahmane Benbachir Committed by Steven Rostedt (VMware)

init, tracing: instrument security and console initcall trace events

Trace events have been added around the initcall functions defined in
init/main.c. But console and security have their own initcalls. This adds
the trace events associated for those initcall functions.

Link: http://lkml.kernel.org/r/1521765208.19745.2.camel@polymtl.ca

Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: default avatarAbderrahmane Benbachir <abderrahmane.benbachir@polymtl.ca>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 4ee7c60d
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/sections.h> #include <asm/sections.h>
#include <trace/events/initcall.h>
#define CREATE_TRACE_POINTS #define CREATE_TRACE_POINTS
#include <trace/events/printk.h> #include <trace/events/printk.h>
...@@ -2781,6 +2782,7 @@ EXPORT_SYMBOL(unregister_console); ...@@ -2781,6 +2782,7 @@ EXPORT_SYMBOL(unregister_console);
*/ */
void __init console_init(void) void __init console_init(void)
{ {
int ret;
initcall_t *call; initcall_t *call;
/* Setup the default TTY line discipline. */ /* Setup the default TTY line discipline. */
...@@ -2791,8 +2793,11 @@ void __init console_init(void) ...@@ -2791,8 +2793,11 @@ void __init console_init(void)
* inform about problems etc.. * inform about problems etc..
*/ */
call = __con_initcall_start; call = __con_initcall_start;
trace_initcall_level("console");
while (call < __con_initcall_end) { while (call < __con_initcall_end) {
(*call)(); trace_initcall_start((*call));
ret = (*call)();
trace_initcall_finish((*call), ret);
call++; call++;
} }
} }
......
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
#include <linux/string.h> #include <linux/string.h>
#include <net/flow.h> #include <net/flow.h>
#include <trace/events/initcall.h>
#define MAX_LSM_EVM_XATTR 2 #define MAX_LSM_EVM_XATTR 2
/* Maximum number of letters for an LSM name string */ /* Maximum number of letters for an LSM name string */
...@@ -45,10 +47,14 @@ static __initdata char chosen_lsm[SECURITY_NAME_MAX + 1] = ...@@ -45,10 +47,14 @@ static __initdata char chosen_lsm[SECURITY_NAME_MAX + 1] =
static void __init do_security_initcalls(void) static void __init do_security_initcalls(void)
{ {
int ret;
initcall_t *call; initcall_t *call;
call = __security_initcall_start; call = __security_initcall_start;
trace_initcall_level("security");
while (call < __security_initcall_end) { while (call < __security_initcall_end) {
(*call) (); trace_initcall_start((*call));
ret = (*call) ();
trace_initcall_finish((*call), ret);
call++; call++;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment