tracing: Ignore mmiotrace from kernel commandline
The mmiotrace tracer cannot be enabled with ftrace=mmiotrace in kernel commandline. With this patch, noboot is added to the tracer struct, and when system boot with a tracer that has noboot=true, it will print out a warning message and continue booting. Link: http://lkml.kernel.org/r/1505111195-31942-1-git-send-email-zsun@redhat.com Signed-off-by: Ziqian SUN (Zamir) <zsun@redhat.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
Родитель
8dd33bcb70
Коммит
c7b3ae0bd2
|
@ -5364,6 +5364,13 @@ static int tracing_set_tracer(struct trace_array *tr, const char *buf)
|
|||
if (t == tr->current_trace)
|
||||
goto out;
|
||||
|
||||
/* Some tracers won't work on kernel command line */
|
||||
if (system_state < SYSTEM_RUNNING && t->noboot) {
|
||||
pr_warn("Tracer '%s' is not allowed on command line, ignored\n",
|
||||
t->name);
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Some tracers are only allowed for the top level buffer */
|
||||
if (!trace_ok_for_array(t, tr)) {
|
||||
ret = -EINVAL;
|
||||
|
|
|
@ -444,6 +444,8 @@ struct tracer {
|
|||
#ifdef CONFIG_TRACER_MAX_TRACE
|
||||
bool use_max_tr;
|
||||
#endif
|
||||
/* True if tracer cannot be enabled in kernel param */
|
||||
bool noboot;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -282,6 +282,7 @@ static struct tracer mmio_tracer __read_mostly =
|
|||
.close = mmio_close,
|
||||
.read = mmio_read,
|
||||
.print_line = mmio_print_line,
|
||||
.noboot = true,
|
||||
};
|
||||
|
||||
__init static int init_mmio_trace(void)
|
||||
|
|
Загрузка…
Ссылка в новой задаче