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

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

function_graph: Have selftest also emulate tr->reset() as it did with tr->init()



The function_graph boot up self test emulates the tr->init() function in
order to add a wrapper around the function graph tracer entry code to test
for lock ups and such. But it does not emulate the tr->reset(), and just
calls the function_graph tracer tr->reset() function which will use its own
fgraph_ops to unregister function tracing with. As the fgraph_ops is
becoming more meaningful with the register_ftrace_graph() and
unregister_ftrace_graph() functions, the two need to be the same. The
emulated tr->init() uses its own fgraph_ops descriptor, which means the
unregister_ftrace_graph() must use the same ftrace_ops, which the selftest
currently does not do. By emulating the tr->reset() as the selftest does
with the tr->init() it will be able to pass the same fgraph_ops descriptor
to the unregister_ftrace_graph() as it did with the register_ftrace_graph().

Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 2fa717a0
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -792,7 +792,10 @@ trace_selftest_startup_function_graph(struct tracer *trace,
	/* check the trace buffer */
	ret = trace_test_buffer(&tr->trace_buffer, &count);

	trace->reset(tr);
	/* Need to also simulate the tr->reset to remove this fgraph_ops */
	tracing_stop_cmdline_record();
	unregister_ftrace_graph(&fgraph_ops);

	tracing_start();

	if (!ret && !count) {