diff options
Diffstat (limited to 'kernel/trace/trace_selftest.c')
| -rw-r--r-- | kernel/trace/trace_selftest.c | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c index a931d9aaea26..529590499b1f 100644 --- a/kernel/trace/trace_selftest.c +++ b/kernel/trace/trace_selftest.c @@ -848,6 +848,12 @@ trace_selftest_startup_function_graph(struct tracer *trace,  	}  #ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS +	/* +	 * These tests can take some time to run. Make sure on non PREEMPT +	 * kernels, we do not trigger the softlockup detector. +	 */ +	cond_resched(); +  	tracing_reset_online_cpus(&tr->array_buffer);  	set_graph_array(tr); @@ -869,6 +875,8 @@ trace_selftest_startup_function_graph(struct tracer *trace,  	if (ret)  		goto out; +	cond_resched(); +  	ret = register_ftrace_graph(&fgraph_ops);  	if (ret) {  		warn_failed_init_tracer(trace, ret); @@ -891,6 +899,8 @@ trace_selftest_startup_function_graph(struct tracer *trace,  	if (ret)  		goto out; +	cond_resched(); +  	tracing_start();  	if (!ret && !count) {  |