tracing/events: reuse trace event ids after overflow
authorSteven Rostedt <srostedt@redhat.com>
Fri, 24 Apr 2009 16:20:52 +0000 (12:20 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Sat, 25 Apr 2009 03:06:00 +0000 (23:06 -0400)
commit060fa5c83e67901ba47ab484cfcdb32737d630ba
treec83ec27ae1064cfb290904f95cb85b3b0889b2a1
parentb8e65554d80b4c560d201362d0e8fa02109d89fd
tracing/events: reuse trace event ids after overflow

With modules being able to add trace events, and the max trace event
counter is 16 bits (65536) we can overflow the counter easily
with a simple while loop adding and removing modules that contain
trace events.

This patch links together the registered trace events and on overflow
searches for available trace event ids. It will still fail if
over 65536 events are registered, but considering that a typical
kernel only has 22000 functions, 65000 events should be sufficient.

Reported-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace_event.h
kernel/trace/trace_output.c