Lockup in tracepoint unregister in sched switch ftrace plugin

From: Steven Rostedt
Date: Mon Oct 20 2008 - 23:49:11 EST


I just downloaded the latest git repo from Linus's tree, and the
sched_switch start up test locks up. I traced it down to the first
unregister of a trace point. Here's the call path that I see.

kernel/trace/trace.c: register_tracer
kernel/trace/trace_selftest.c: trace_selftest_startup_sched_switch
kernel/trace/trace_sched_switch.c: sched_switch_trace_ctrl_update
" " : stop_sched_trace
" " : tracing_stop_cmdline_record
" " : tracing_stop_sched_switch
" " : tracing_sched_unregister

which calls unregister_trace_sched_switch define as macro to:

kernel/tracepoint.c: tracepoint_probe_unregister
" " : remove_tracepoint
kernel/rcupdate.c: rcu_barrier_sched
" " : _rcu_barrier

where it gets stuck at that "wait_for_completion".

I'm not sure if, because this is a scheduler trace point that we are
hitting some kind of race that is preventing the wait_for_completion to
finish, or what.

I'll look more at it tomorrow.

-- Steve

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/